Перейти к содержанию

Необходимо вывести на экран фамилии и инициалы учеников, набравших максимальную сумму баллов по трём предметам (таких учеников может быть несколько), а также набранную ими сумму баллов

Даны сведения о набранных на ЕГЭ баллах учениками данной школы по трём предметам. Необходимо вывести на экран фамилии и инициалы учеников, набравших максимальную сумму баллов по трём предметам (таких учеников может быть несколько), а также набранную ими сумму баллов.

Описание входных и выходных данных.

На вход программы подаются сведения о набранных на ЕГЭ баллах учениками данной школы по трём предметам. В первой строке сообщается количество учащихся N (N 6 100), каждая из следующих N строк имеет формат: <�Фамилия> <�Инициалы> <�БаллыПоРусскомуЯзыку> <�БаллыПоМатематике> <�БаллыПоИнформатике>, где <�Фамилия>—строка, состоящая не более чем из 20 символов, <�Инициалы> — строка, состоящая из 4 символов (буква, точка, буква, точка), <�БаллыПоРусскомуЯзыку>, <�БаллыПоМатематике>, <�БаллыПоИнформатике> — целые числа в диапазоне от 0 до 100. Все элементы одной строки отделены друг от друга пробелом.

Пример входных данных:

5

Петров С.Н. 78 83 70

Киселев К.Н. 56 23 74

Егоров Р.В. 54 47 76

Горин С.М. 25 74 54

Токорев И.Н. 72 75 84

Пример выходных данных для приведённого выше примера входных данных:

Петров С.Н. 231

Токорев И.Н. 231

Напишите эффективную как по времени, так и по памяти программу для решения поставленной задачи, если известно, что вводятся сведения о N учащихся.

Программа считается эффективной по времени, если время работы программы пропорционально N, то есть при увеличении N в k раз время работы программы должно увеличиваться не более чем в k раз.

Программа считается эффективной по памяти, если размер памяти, необходимой программе для хранения всех переменных, не превышает 1 Кбайт и не увеличивается с ростом числа N.

Максимальная оценка за правильную (не содержащую синтаксических ошибок и дающую правильный ответ при любых допустимых входных данных) программу, эффективную по времени и по памяти,—4 балла. Максимальная оценка за правильную программу, эффективную только по времени,—3 балла.

Максимальная оценка за правильную программу, не удовлетворяющую требованиям эффективности,—2 балла.

Вы можете написать одну программу или две программы решения задачи (например, одна из программ может быть менее эффективна). Если вы напишете две программы, то каждая из них будет оцениваться независимо от другой, итоговой станет бо´ льшая из двух оценок. Перед текстом программы обязательно кратко опишите алгоритм решения. Укажите использованный язык программирования и его версию.


Пример программы на языке PascalABC 1.8. Программа эффективна по времени и по памяти.

var fio : array[1..100] of string;

bs : array[1..100] of integer;

max,N,i,k,b : integer; c : char;

c : char;

begin

readln(N);

max:=0;

for i:=1 to N do

begin

fio[i]:=’’;

for k:=1 to 2 do

repeat

read(c);

fio[i]:=fio[i]+c;

until c=’ ’;

read(bs[i]);

for k:=1 to 2 do

begin

read(b);

bs[i]:=bs[i]+b;

end;

if bs[i]>max then

max:=bs[i];

end;

for i:=1 to N do

if bs[i]=max then

writeln(fio[i],max);

end.

Другие задачи из этого раздела