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

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

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

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

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

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

5

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

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

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

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

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

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

Киселев К.Н. 51

Горин С.М. 51

Напишите эффективную как по времени, так и по памяти программу для решения поставленной задачи, если известно, что вводятся сведения о 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;

min,N,i,k,b : integer;

ar : real; c : char;

begin

readln(N);

min:=300;

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;

readln;

if (bs[i]0) then

min:=bs[i];

end;

ar:=min/3;

for i:=1 to N do

if bs[i]=min then

writeln(fio[i],ar);

end.