Сдля курсовой работы, ! это важно. на с++ или с! мальчик антон решает вступительную работу в летний лагерь. в ней n , которые можно выполнять в произвольном порядке. разные требуют разного времени для решения. при этом известно, что если с номером i выполнять j-м по счету, антону потребуется ti*j времени: чем больше думаешь, тем больше устаешь. например, если начать с первой , а затем выполнить вторую, то потребуется t1*1 + t2*2 времени, а если выполнить сначала вторую , а затем первую – то t2*1 + t1*2. подскажите антону, в каком порядке нужно решать , чтобы на выполнение всей работы ушло как можно меньше времени. входные данные в первой строке вводится число n, во второй строке —n чисел через пробелt1, t2, …, tn, разделенные пробелами. все числа целые и удовлетворяют следующим ограничениям: 0 < n ≤ 10, 0 < ti ≤ 100. выходные данные требуется вывести сначала минимальное время, за которое можно решить все , а затем – номера в том порядке, в котором их нужно решать, чтобы уложиться в это время. все числа разделяются пробелами. если решений несколько, нужно выдать любое из них.
277
477
Ответы на вопрос:
Отсортируйте массив по не возрастанию (вместе с индексами) и подсчитайте сумму s = s+b[i]*(i+1) - индексы от нуля. это и будет наименьшее время. #include < iostream> #include < cstdlib> using namespace std; int main() { int n,i,s; bool priz=true; cin> > n; int b[n],c[n]; for (int i=0; i< n; i++) { cin> > b[i]; c[i]=i+1; } // сортировка масcива по не возрастанию while (priz) { priz=false; for (int i=0; i< n-1; i++) { if (b[i]< b[i+1]) { swap(b[i],b[i+1]); swap(c[i],c[i+1]); priz=true; } } } s=0; for (int i=0; i< n; i++) s+=b[i]*(i+1); cout< < s< < endl; for (int i=0; i< n; i++) cout< < c[i]< < " "; cout< < endl; system("pause"); return(0); } ввод - вывод: 6 10 21 13 36 41 9 332 5 4 2 3 1 6
Function sum(m: myarray): integer var i, s : integer sum: =0 for i: =1 to n do (к уже найденной сумме первых (i-1) элементов прибавляем i-ый элемент) s: =s+m[i]; sum: =s; end; это все что я
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
Barbara726417.06.2021 20:58
-
NastyaMeow0516.07.2021 09:58
-
orliniyglassoyccc021.01.2020 22:43
-
konstantunzayac27.01.2020 11:33
-
sofiaryzhova20.11.2020 10:55
-
Ghhhuj06.11.2020 13:44
-
HALERIOP30.08.2021 10:45
-
тоты201720.09.2021 18:47
-
fcone07.01.2020 11:33
-
Sveto4ka34216.05.2020 12:47
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.