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.in | sorting.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