На судоремонтный завод для докового ремонта одновременно пришло N судов. В док на ремонт может зайти только одно судно. Необходимое время стоянки в доке каждого судна различно. После ремонта судно сразу идет в рейс.
Составить программу, которая определяет очередность постановки судов в док, при которой суммарные затраты времени от простоя судов минимальны
Ввод-вывод Вы вводите с клавиатуры N - число суден, пришедших на ремонт
Пример:
Ввод>3 6
Ввод>1 12
Ввод>2 4
Вывод< 2
Вывод< 3
Вывод< 1
begin
var m:=ReadInteger('Количество элементов в массиве А (m):');
var n:=ReadInteger('Количество элементов в массиве B (n):');
var k:=ReadInteger('Позиция вставки k (1<k<m):');
if (k>1) and (k<m) then begin
var a:=ArrRandom(m,1,99); Writeln('Массив A'); a.Println;
var b:=ArrRandom(n,1,99); Writeln('Массив B'); b.Println;
Writeln('Результат вставки'); (a[:k]+b+a[k:]).Println
end
else Writeln('Вы нарушили условие 1<k<m')
end.
Тестовое решение
Количество элементов в массиве А (m): 10
Количество элементов в массиве B (n): 6
Позиция вставки k (1<k<m): 4
Массив A
68 64 30 75 36 15 50 39 92 26
Массив B
56 68 97 30 95 63
Результат вставки
68 64 30 75 56 68 97 30 95 63 36 15 50 39 92 26