После единых выпускных экзаменов по информатике в район пришла информация о том,какой ученик, какой школы, сколько набрал баллов.
Районый методист решила выяснить номер школы, ученики которой набрали наибольший средний балл,с точностью до целых.
Программа должна вывести на экран номер такой школы и её средний балл.
Если наибольший средний балл набрало больше одной школы, вывести количество таких школ.
Напишите эффективную, в том числе и по используемой памяти, программу(укажите используемую версию языка программирования),которая должна вывести на экран требуемую информацию.
Также известно, что в районе школ с некоторыми номерами не существует.
На вход программе сначала подается число учеников, сдававших экзамен. В каждой из следующих N строк находится информация об учениках в формате:
<Фамилия><Имя><Номер школы><Количество баллов>
<Фамилия>-строка, состоящая не более чем из 30 символов без пробелов,
<Имя>-строка, состоящая не более чем из 20 символов.
<Номер школы>-число в диапазоне от 1 до 99
<Количество баллов>-число в диапазоне от 1 до 100.
Эти данные записаны через пробел, то есть в каждой строке ровно 3 пробела.
type massiv=array[1..99] of integer;
var count:massiv;
sumball:massiv;
ch:char;
i,N,nomer,ball,max,nmax:integer;
Begin
for i:=1 to 99 do
begin
count[i]:=0;
sumball[i]:=0;
end;
write('Введите количество учеников: ');readln(n);
for i:=1 to n do
begin
Repeat
read(ch);
Until ch=' ';
Repeat
read(ch);
Until ch=' ';
read(nomer);
read(ball);
count[nomer]:=count[nomer]+1;
sumball[nomer]:=sumball[nomer]+ball;
end;
for i:=1 to 99 do
if count[i]>0 then sumball[i]:=sumball[i] div count[i];
max:=1;
nmax:=1;
for i:=2 to 99 do
if sumball[i]>sumball[max] then
begin
max:=i;
nmax:=1;
end
else if sumball[i]=sumball[max] then inc(nmax);
if nmax=1 then writeln(max,' ',sumball[max])
else writeln(nmax);
End.

