Олимпиадный тренинг

Задача . Сортировка по ключу - 5*


Задача

Темы:

Напишите программу для решения следующей задачи.

Участники викторины письменно отвечают на 10 вопросов различной сложности. За правильный ответ начисляется от 1 до 5 баллов в зависимости от сложности вопроса. За неверный ответ вычитается от 1 до 5 баллов. Участник может не отвечать на какой-то вопрос, в таком случае баллы за этот вопрос не начисляются.
По результатам викторины для каждого участника вычисляются три показателя:
1) сумма – общее количество набранных баллов;
2) ошибки – количество неверных ответов;
3) ответы – общее количество сданных ответов (верных и неверных).
В таблице результатов участники располагаются по убыванию первого показателя – суммы, при равенстве сумм – по возрастанию второго показателя - числа ошибок, при равенстве сумм и минусов – по убыванию третьего показателя (ответов). При равенстве всех трёх показателей участники располагаются в итоговой таблице в порядке возрастания их личных номеров.
Дальнейший отбор проводится среди тех, кто набрал положительную сумму баллов, участники с нулевой и отрицательной суммой исключаются.
 
В следующий тур проходят участники, занявшие первые 20% мест полученной таблицы (учитываются только положительные результаты), а также те, у которых все три показателя такие же, как у занявшего последнее место среди занявших первые 20% мест.
 
Примечание. Если вычисленное количество участников оказывается не целым, учитывается целая часть полученного числа.

Входные данные: 

Первая строка содержит целое число N (N ≤ 10 000) – общее количество участников. Каждая из следующих N строк соответствует одному участнику и содержит 11 целых чисел, разделённых пробелами: сначала ID участника, затем – баллы, полученные им за каждый из 10 вопросов.
Гарантируется, что ID участников не повторяются.


Выходные данные:
Программа должна вывести список ID 
участников, прошедших в следующий тур, в том порядке, в котором их ID  расположены в рейтинговом списке. 
Примеры
Входные данныеВыходные данные
1 8
4 2 2 -1 -2 1 0 0 1 -2 4
7 5 1 1 0 -1 0 1 0 3 0
17 1 0 2 -1 3 1 0 1 -2 0
5 1 0 -2 -1 3 1 0 -1 -2 0
12 -1 0 2 1 -3 1 0 -1 2 0
1 0 1 0 0 1 0 1 0 2 0
6 2 5 -2 2 0 2 0 0 1 0
10 1 -1 3 -1 -1 0 0 0 1 0
6
7
2 8
4 2 2 -1 -2 1 0 0 1 -2 4
7 5 1 1 0 -1 0 1 0 3 0
17 1 0 2 -1 3 1 0 1 -2 0
5 1 0 -2 -1 3 1 0 -1 -2 0
12 -1 0 2 1 -3 1 0 -1 2 0
1 0 1 0 0 1 0 1 0 2 0
6 2 5 -2 0 0 2 0 0 1 0
10 1 -1 3 -1 -1 0 0 0 1 0
7

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
Python1
Комментарий учителя