PascalABC.NET 3.3.5, сборка 1662 от 29.04.2018
Внимание! Если программа не работает, обновите версию!
type
st=record
ball:real;
nam:string
end;
begin
var n:=ReadlnInteger;
var res:=new st[n];
var buf:st;
for var i:=0 to n-1 do begin
Readln(buf.nam);
buf.ball:=0.0;
res[i]:=buf
end;
loop 6 do begin // по условию тут надо написать 30, 6 - это для примера
var p:=ReadlnString.ToWords;
var id:=res.FindIndex(t->t.nam=p[1]);
if id>-1 then res[id].ball+=p[0].ToReal;
end;
var imax:=res.Select(t->t.ball).ToArray.IndexMax;
res[imax].nam.Println
end.
Пример
3
Леонид
Мария
Константин
18.7 Мария
3.01 Леонид
9.12 Леонид
43.4 Мария
5.3 Константин
0.52 Леонид
Мария