0267. Поступление

Input file name: sorting.in
Output file name: sorting.out
Time limit: 2 s
Memory limit: 64 megabytes

Наверное всем известно, что в университете учатся люди, которые называются студентами. Однако, чтобы попасть в стройные ряды этих людей и не попасть в стройные ряды совсем других людей, которых бреют и выдают автоматы на 2 года, необходимо пройти сложнейшие вступительные испытания. К сожалению, в университете аудитории не резиновые и всех желающих вместить не могут (в отличие от маршруток, курсирующих по территории нашего города). Посему по результатам вступительных испытаний люди зачисляются или не зачисляются в университет. Однако желающих достаточно много и обрабатывать результаты вручную с каждым годом становится все сложнее. Итак, пусть в университет на какую-то специальность желают поступить N человек. Причем каждый из них сдал по M вступительных экзаменов. За каждый экзамен люди получают от 0 до 100 баллов. Требуется вывести список желающих поступить в порядке уменьшения суммы баллов, набранных за экзамены. Если же у двух или нескольких человек сумма баллов будет одинакова, следует их выводить в том порядке, в котором они даны во входном файле.

Формат входного файла

В первой строке входного файла даны целые числа M и N (1 ≤ N ≤ 1000, 1 ≤ M ≤ 100). Далее в каждой строке задана информация по абитуриенту, сначала его фамилия (строчные и прописные латинские буквы), затем пробел, а далее M целых чисел, каждое от 0 до 100 - количество баллов за соответствующий экзамен. Длина фамилии не более 20 символов.

Формат выходного файла

Вывести список абитуриентов в порядке уменьшения суммы баллов за все экзамены, причем абитуриентов с равной суммой выводить в порядке их следования во входном файле. В каждой строке записать фамилию абитуриента, затем через пробел M чисел - баллы за соответствующие экзамены, затем пробел и сумма баллов за все экзамены. Лишние пробелы в строке или после нее считаются ошибкой.

Пример:

sorting.insorting.out
5 4 Ivanov 100 100 95 80 Petrov 95 95 80 80 Sidorov 11 100 100 100 Volkov 80 70 90 100 Belyaev 100 100 100 100 Belyaev 100 100 100 100 400 Ivanov 100 100 95 80 375 Petrov 95 95 80 80 350 Volkov 80 70 90 100 340 Sidorov 11 100 100 100 311


Source: Первенство первокурсника ПетрГУ. Осень 2006.

Discuss       Submit a solution



Printable version