Соревнование лесорубов
Ограничение времени 1 секунда
Ограничение памяти 64Mb
Ввод стандартный ввод или input.txt
Вывод стандартный вывод или output.txt
В Тридевятом царстве завершился чемпионат лесорубов.
Правила определения победителя следующие: победителем считается тот лесоруб, который срубил за сутки наибольшее количество деревьев. А если таких лесорубов несколько, то победителем становится тот из них, кто при этом сделал как можно меньше ударов. Известно, что ни у каких двух лесорубов нет абсолютно одинакового результата.
Требуется написать программу, которая принимает на вход список участников, для каждого из которых задано его имя, а также то, сколько деревьев и за какое суммарное количество ударов он срубил, и выводит имя победителя.
Формат ввода
Первая строка содержит целое число nn ( 1≤n≤1001≤n≤100) – количество соревнующихся лесорубов. Последующие n×2n×2 строк задают лесорубов. Каждый лесоруб задаётся двумя строками: первая содержит имя лесоруба (не более 20 символов, могут встречаться только прописные и строчные буквы латинского алфавита). Гарантируется, что никакое имя не встретится дважды. Вторая строка содержит два целых числа: pipi ( 0≤pi≤150≤pi≤15) и titi ( 0≤ti≤50000≤ti≤5000) – количество срубленных этим лесорубом деревьев и количество сделанных ударов.
Обратите внимание, что список лесорубов не обязан быть отсортированным заранее.
Формат вывода
Ваша программа должна вывести единственную строку – имя лесоруба-победителя.
Пример
Ввод Вывод
4
John
10 123
Ringo
10 144
George
11 156
Paul
11 160
George
Примечания
Решением к данной задаче является программа, написанная на одном из представленных в системе языков программирования. Программа должна считывать данные со стандартного потока ввода (иначе говоря, «с клавиатуры») и выводить ответ в стандартный вывод (иначе говоря, «на экран»).
Выводить лишние символы (исключая пробелы и переводы строк) недопустимо, то есть если вместо ответа будет выведен ответ и после него (или перед ним) какое-то лишнее число или строка, то система ответ не зачтёт.
Перед тем, как отправить написанную Вами программу, не забудьте указать язык программирования, на котором она написана. Выбор языка осуществляется с помощью выпадающего меню, расположенного сразу под этим текстом.
Answers & Comments
Verified answer
Var n,pi,ti,max,min,i:integer;name,m_name:string;
begin
readln(n);
max:=0; min:=5000;
for i:=1 to n do
begin
readln(name);
readln(pi,ti);
if pi>max
then begin m_name:=name; max:=pi; min:=ti; end
else if pi=max
then if ti<min then begin m_name:=name; max:=pi; min:=ti; end;
end;
writeln(m_name);
end.
Пример:
4
John
10 123
Ringo
10 144
George
11 156
Paul
11 160
George