<u>PascalABC.NET 3.3.5, сборка 1662 от 29.04.2018</u> <u>Внимание! Если программа не работает, обновите версию!</u>
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.
<u>Пример</u> 3 Леонид Мария Константин 18.7 Мария 3.01 Леонид 9.12 Леонид 43.4 Мария 5.3 Константин 0.52 Леонид Мария