В Берляндии завершилась олимпиада по программированию. . Правила определения победителя следующие: каждый участник по окончании олимпиады имеет результат, который выражается двумя числами – количеством решенных задач и штрафным временем. Победителем соревнований считается участник, который решит наибольшее количество задач. А если таких участников будет несколько, то среди них выбирается участник с наименьшим штрафным временем.
Организаторы олимпиады по какой-то причине подали в Министерство Образования Берляндии список участников с результатами в том порядке, в котором участники были заведены в тестирующей системе. А согласно регламенту Министерства, олимпиада считается завершённой после того, как имя победителя объявлено на сайте Министерства.
Вам получено по поданному списку вывести имя победившего участника, если известно, что никакие два участника олимпиады не показали одинаковые результаты.
Формат ввода
Входные данные содержат присланные в министерство данные о результатах соревнований. В первой строке записано одно натуральное число
n( n≤100) – количество участников. Далее идет n×2 строк. В строке с номером i×2 содержится имя i-го участника (не более 20 символов, все символы – строчные и прописные латинские буквы. Гарантируется, что все имена различны. В строке с номером×2+1содержатся два целых неотрицательных числа: pi ( pi≤15) и ti ( t≤5000) – количество решенных задач и штрафное время для i-го участника. Порядок, в котором заданы участники, не обязан совпадать с порядком, в котором они идут в отсортированной таблице результатов.
Формат вывода
Выведите единственную строку – имя победившего участника.
Пример
Ввод Вывод
5
Harvard
10 1358
MIPT
10 1437
Shanghai
11 1567
SPbSU
11 1560
Warsaw
10 1586
SPbSU
ответ: Pascal ABC.Net
Program Zadacha;
var a,b:array[1..1000] of integer;
n, i, max:integer;
BEGIN
write('Задайте количество элементов массива N<1000: ');
read(n);
max:=-30000;
for i:=1 to n do
begin write('Задайте ',i,'-й элемент массива: ');
read(a[i]);
if a[i]>max then max:=a[i];
end;
for i:=1 to n do
begin b[i]:=a[i]*max;
writeln(b[i]);
end;
END.
Объяснение:
Так как конкретной программы не дано, напишу на Питоне
Программа, где массив вводится вручную и выполняются поставленные условия во вложении
Если имеется уже готовый массив, то во 2-ой строке заполнить все его элементы и удалить 4 и 5-ую строки.
Как это работает?a - сам массивminimum - контр значение с которым будем сравнивать эл-ты4 и 5 строкой заполняем массив 40 эл-ми вручную6 и 7 строками проверяем каждый эл-т по поставленному условию8 строка - присваиваем число минимуму9 - 12 выводим ответ, проверяя, изменился ли эл-т minimum с начала программы, если да - выводим его, нет - выводим 0