vijos_1001
谁拿了最多奖学金-17min-模拟
Hint
尽管这题是每年一次的热手题,但速度依然没有提上来,手相当生。
?Download vijos_1001.pas
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | var max,tt,ok,n,i,j:longint; s:string; nam:array[0..100] of string; m:array[1..100,0..5] of longint; begin readln(n); for i:=1 to n do begin readln(s); nam[i]:=copy(s,1,pos(' ',s)-1); for j:=1 to 2 do begin delete(s,1,pos(' ',s)); val(copy(s,1,pos(' ',s)-1),m[i,j],ok) end; for j:=3 to 4 do begin delete(s,1,pos(' ',s)); if copy(s,1,pos(' ',s)-1)='Y' then m[i,j]:=1 else m[i,j]:=0; end; delete(s,1,pos(' ',s)); val(s,m[i,5],ok); end; max:=0; tt:=0; for i:=1 to n do begin if (m[i,1]>80)and(m[i,5]>=1) then inc(m[i,0],8000); if (m[i,1]>85)and(m[i,2]>80) then inc(m[i,0],4000); if m[i,1]>90 then inc(m[i,0],2000); if (m[i,1]>85)and(m[i,4]=1) then inc(m[i,0],1000); if (m[i,2]>80)and(m[i,3]=1) then inc(m[i,0],850); if m[i,0]>max then begin max:=m[i,0]; nam[0]:=nam[i]; end; inc(tt,m[i,0]); end; writeln(nam[0]); writeln(max); writeln(tt); end. |
编译通过…
├ 测试数据 01:答案正确… 0ms
├ 测试数据 02:答案正确… 0ms
├ 测试数据 03:答案正确… 0ms
├ 测试数据 04:答案正确… 0ms
├ 测试数据 05:答案正确… 0ms
├ 测试数据 06:答案正确… 0ms
├ 测试数据 07:答案正确… 0ms
├ 测试数据 08:答案正确… 0ms
├ 测试数据 09:答案正确… 0ms
├ 测试数据 10:答案正确… 0ms
————————-
Accepted 有效得分:100 有效耗时:0ms
if m[i,0]>max then begin
Oye~!代码自动替换
@Wandsea 这玩意去不掉么
每年一次的热手题….
@Wandsea 还有那道分钱的