После единых выпускных экзаменов по информатике в район пришла информация о том, какой ученик какой школы сколько баллов набрал.
Районный методист решила выяснить фамилии учеников, которые набрали наибольший балл, по каждой школе в отдельности, но только если из школы информатику сдавало не меньше 3 человек. Если в школе информатику сдавало меньше 3 человек, информацию по этой школе выводить не нужно.
Программа должна вывести на экран информацию в виде:
<Номер школы> <Фамилия ученика>
в отдельной строке для каждой школы.
Напишите эффективную, в том числе и по используемой памяти, программу (укажите используемую версию языка программирования, например Borland Pascal 7.0), которая должна вывести на экран требуемую информацию. Известно, что информатику сдавало больше 5-ти учеников района. Также известно, что в районе школы с некоторыми номерами не существуют.
На вход программе сначала подаётся число учеников, сда-вавших экзамен. В каждой из следующих N строк находится информация об учениках в формате:
<Фамилия> <Имя> <Номер школы> <Количество баллов>
где <Фамилия> — строка, состоящая не более чем из 30 символов без пробелов,
<Имя> — строка, состоящая не более чем из 20 символов без пробелов,
<Номер школы> — целое число в диапазоне от 1 до 99,
<Количество баллов> — целое число в диапазоне от 0 до 100. Эти данные записаны через пробел, причём ровно один между каждой парой (то есть всего по три пробела в каждой строке).
Пример входной строки:
Иванов Иван 50 87
Пример выходных данных:
5 Иванов
50 Петров
74 Сидоров
ПАСКАЛЬ
var num,bal: array[1..99] of integer;
name: array[1..99] of string[52];
s:string[52];
ch:char;
i,N,sh,ball:integer;
begin
for i: =1 to 99 do {обнуляем массивы}
begin
num[i]:=0;
bal[i]:=-1 end;
readln(N); {считали количество строк}
for i:=1 to N do {перебираем все входные строки}
begin
s : =' ';
repeat
read(ch);
s : =s+ch;
until ch=' ';{считана фамилия и записана в переменную s}
repeat
read(ch)
until ch= ' '; {считано имя}
readln(sh,ball); {считали номер школы и балл ученика}
if ball > bal[sh] then {если текущий балл лучше}
begin
bal[sh]:=ball; {запоминаем текущий балл по школе}
name[sh]:=s; {и фамилию ученика}
end;
num[sh]:=num[sh]+1; {считаем количество учеников из школы}
end;
for i:=1 to 99 do
if num[i] > = 3 then {выбираем только школы,из которых сдавало больше трех учеников}
writeln{i,' ',name[i]);
end.

