Представьте, что Вы в составе группы туристов, состоящей из N человек
подошли поздним вечером к старому мосту через быструю горную речку и решили
ночью пересечь его, потому что разбить лагерь можно только на другом берегу. Без
освещения перейти мост невозможно. В группе есть один фонарик. Известно, что
мост из-за ветхости выдерживает только двоих, а скорости людей могут
различаться. Если мост пересекают два человека с разной скоростью, то они
вынуждены двигаться со скоростью самого медленного из них. Скорость движения
каждого из туристов группы известна своим спутникам как можно
быстрее перебраться через мост.
Задание. Напишите программу, которая вычислить минимальное время,
которое потребуется для такого перехода. Например, если N=4, а время, требуемое
для перехода по мосту для каждого, составляет 5, 10, 20 и 25 минут соответственно,
то наименьшее время, требуемое для пересечения моста, составит ровно 60 минут.
Формат входных данных. С клавиатуры в первой строке вводится N – количество
человек в туристической группе (1 ≤ N ≤ 104
). Во второй строке задается N
натуральных чисел – скорости всех путников, разделенные пробелом и не
превосходящие 100. Здесь под скоростью человека понимается время в минутах,
необходимое для перехода через мост.
Формат выходных данных. На экран выводится единственное целое число –
минимально возможное время, необходимое путникам для пересечения моста.
var
n, max, count, contrl, max2: integer;
begin
contrl := 0;
max := 0;
Writeln('Введите числа: ');
Readln(n);
while n <> 0 do
begin
Inc(count);
if n>max then begin max2:=max; max:=n end
else if n > max2 then max2 := n;
Read(n);
end;
max2*=max;
Writeln('Введите контрольное значение: ');
Read(contrl);
Writeln('Получено: ', count, ' чисел');
Writeln('Получено контрольное значение: ', contrl);
Writeln('Вычисленное контрольное значение:: ', max2);
if contrl = max then Writeln('Контроль пройден')
else Writeln('Контроль не пройден');
end.
var
n, max, count, contrl: integer;
begin
contrl := 0;
max := 0;
Writeln('Введите числа: ');
Readln(n);
while n <> 0 do
begin
Inc(count);
if (n mod 10 = 0) and (n > max) then max := n;
Read(n);
end;
Writeln('Введите контрольное значение: ');
Read(contrl);
Writeln('Получено: ', count, ' чисел');
Writeln('Получено контрольное значение: ', contrl);
Writeln('Вичисленное контрольное значение:: ', max);
if contrl = max then Writeln('Контроль пройден')
else Writeln('Контроль не пройден');
end.