Соревнование лесорубов Ограничение времени 1 секунда Ограничение памяти 64Mb Ввод...

0 голосов
33 просмотров

Соревнование лесорубов

Ограничение времени 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
Примечания

Решением к данной задаче является программа, написанная на одном из представленных в системе языков программирования. Программа должна считывать данные со стандартного потока ввода (иначе говоря, «с клавиатуры») и выводить ответ в стандартный вывод (иначе говоря, «на экран»).
Выводить лишние символы (исключая пробелы и переводы строк) недопустимо, то есть если вместо ответа будет выведен ответ и после него (или перед ним) какое-то лишнее число или строка, то система ответ не зачтёт.
Перед тем, как отправить написанную Вами программу, не забудьте указать язык программирования, на котором она написана. Выбор языка осуществляется с помощью выпадающего меню, расположенного сразу под этим текстом.


Информатика (12 баллов) | 33 просмотров
Дан 1 ответ
0 голосов

#Python 3.X

n = int(input())
contestants = []
for _ in range(n):
    name = input()
    trees, hits = [int(x) for x in input().split()]
    contestants.append((name, trees, hits))
print(min(filter(lambda x: x[1] == max(contestants, key=lambda x: x[1])[1], contestants), key=lambda x: x[2])[0])

(7.2k баллов)