Условие
В соревновании участвуют N человек. Для каждого заданы числовой идентификатор и результаты трёх этапов. Побеждает участник с наибольшей суммой результатов. При равенстве сумм побеждает участник с меньшим идентификатором.
Объявите структуру struct Participant с целочисленными полями id, score1, score2 и score3. После чтения N динамически выделите память для массива из N таких структур и прочитайте в него всех участников. Размер выделения рассчитывайте через sizeof структуры или элемента массива, а не через сумму размеров её полей.
Реализуйте функцию int best_participant(const struct Participant participants[], int count), которая возвращает индекс победителя с нуля, не изменяет массив и не выполняет ввод или вывод. В main вызовите функцию, выведите идентификатор победителя и сумму его результатов, затем освободите массив структур.
Ограничения
Время: 2 секунды. Память: 64 МиБ. Вывод: до 2 МиБ. Стандарты: C11 / C++17.
Входные данные
В первой строке вводится целое число N — количество участников. Следующие N строк содержат по четыре целых числа: id, score1, score2, score3. Ограничения: 1 ≤ N ≤ 100000, 1 ≤ id ≤ 10⁹, 0 ≤ score1, score2, score3 ≤ 100. Идентификаторы участников различны.
Выходные данные
Два целых числа в одной строке через пробел — идентификатор победителя и сумма его результатов на трёх этапах.
Примеры
3 10 20 30 40 7 50 50 50 2 0 0 0
7 150
2 20 100 0 0 5 50 25 25
5 100
1 99 0 0 0
99 0