0 / 0 / 0
Регистрация: 31.01.2014
Сообщений: 4
1

Антон решает задачи. Подскажите Антону, в каком порядке нужно решать задачи, чтобы на выполнение всей работы ушло как можно меньше времени

31.01.2014, 18:01. Показов 4108. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Пожалуйста помогите с задачей
Мальчик Антон решает вступительную работу в летний математический лагерь. В ней N заданий, которые можно выполнять в произвольном порядке. Разные задачи требуют разного времени для решения. При этом известно, что если задание с номером i выполнять j-м по счету, Антону потребуется Ti*j времени: чем больше думаешь, тем больше устаешь. Например, если начать с первой задачи, а затем выполнить вторую, то потребуется T1*1 + T2*2 времени, а если выполнить сначала вторую задачу, а затем первую – то T2*1 + T1*2. Подскажите Антону, в каком порядке нужно решать задачи, чтобы на выполнение всей работы ушло как можно меньше времени.

Входные данные
В первой строке вводится число N, во второй строке —N чисел через пробелT1, T2, …, TN, разделенные пробелами. Все числа целые и удовлетворяют следующим ограничениям: 0 < N ≤ 10, 0 < Ti ≤ 100.

Выходные данные
Требуется вывести сначала минимальное время, за которое можно решить все задачи, а затем – номера задач в том порядке, в котором их нужно решать, чтобы уложиться в это время. Все числа разделяются пробелами. Если решений несколько, нужно выдать любое из них.

Пример:
Ввод:2 2 3
Вывод:7 2 1
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.01.2014, 18:01
Ответы с готовыми решениями:

Подскажите, как решать подобные задачи? В теории работы разобралась, а применить на практике не получается
2. На ленте машины Поста расположена последовательность из N меток, отделенных друг от друга одной...

Задачи задачи решаемость, а как решать ?
1. Линейная плотность заряда бесконечно длинного тонкого провода равна \tau = 15 нКл/м. Найти...

Какие типовые коммерческие задачи нужно уметь решать на С++?
всем привет. около года основательно изучаю С++, сейчас заканчиваю книгу стивен прата. Но еще не...

Какие практические задачи можно решать при помощи Q#?
Всем привет! Как нам известно microsoft создала новый язык программирования, который эмулирует...

1
Эксперт С++
4727 / 2548 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
01.02.2014, 07:49 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

жадный алгоритм:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
uses crt;
const nmax=10;
var a,b:array[1..nmax] of integer;
    i,j,n,t,imax:integer;
begin
  read(n);
  for i:=1 to n do
  read(a[i]);
  for i:=1 to n do begin
  imax:=1;
  for j:=1 to n do 
  if a[imax]<a[j] then imax:=j;  
  t:=t+a[imax]*i;
  b[i]:=imax;
  a[imax]:=0;
  end;
  write(t);
  for i:=1 to n do
  write(' ',b[i]);
  writeln
end.
0
01.02.2014, 07:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.02.2014, 07:49
Помогаю со студенческими работами здесь

Как решать задачи
Всем привет! Сразу сорян если тема тупая и всплывала 100500 раз. Читаю книгу &quot;Песни о паскале&quot;,...

Как решать подобные задачи?
Привет! Из название следует мне нужно пошаговое руководство как решать подобные задачи. Путём...

Как решать эти задачи
Ребята,помогите,пожалуйста,решить эти 2 номера....я ни малейшего представления не имею как их...

Как решать такие задачи?
Есть определенный тип задач, которые я не понимаю, как решать(задача приведена ниже), видел раньше...

Как быстро решать задачи?
Я иду на олимпиаду и проблема в том, что я очень долго думаю и пишу программы. А там даётся всего 3...

Как решать задачи с массивами?
Предлагаю посмотреть не плохой видео-урок: Как решать задачи с массивами? Понятно и подробно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru