P1051 誰拿了最多獎學金

2021-07-26 13:59:02 字數 1781 閱讀 8321

發放的獎學金共有五種,獲取的條件各自不同:

(2)4000元,期末平均成績高於85分(>85),並且班級評議成績高於80分(>80)的學生均可獲得;

(3)2000元,期末平均成績高於90分(>90)的學生均可獲得;

(4)1000元,期末平均成績高於85分(>85)的西部省份學生均可獲得;

(5)850元,班級評議成績高於80分(>80)的學生幹部均可獲得;

計算哪些同學獲得的獎金總數最高。

4

yaolin 87 82 y n 0

chenruiyi 88 78 n y 1

lixin 92 88 n n 0

zhangqin 83 87 y n 1

chenruiyi

9000

28700

o(n)

按題意模擬,排序

var

a,e,d:array[1..1000]of string;

b,c,f,g:array[1..1000]of longint;

n,k,i,j,max,ans:longint;

s:string;

begin

readln(n);

for i

:=1 to n do

begin

readln(s);

k:=pos(' ',s);

a[i]

:=copy(s,1,k-1);

delete(s,1,k);

k:=pos(' ',s);

val(copy(s,1,k-1),b[i]);delete(s,1,k);

k:=pos(' ',s);

val(copy(s,1,k-1),c[i]);delete(s,1,k);

k:=pos(' ',s);

d[i]

:=copy(s,1,k-1);

delete(s,1,k);

k:=pos(' ',s);

e[i]

:=copy(s,1,k-1);

delete(s,1,k);

val(copy(s,1,k-1),f[i]);

if (b

[i]>80)and(f[i]>0) then g[i]

:=g[i]+8000;

if (b

[i]>85)and(c[i]>80) then g[i]

:=g[i]+4000;

if (b

[i]>90) then g[i]

:=g[i]+2000;

if (b

[i]>85)and(e[i]='y') then g[i]

:=g[i]+1000;

if (c[i]>80)and(d[i]='y') then g[i]

:=g[i]+850;

end;

max:=0;

for i

:=1 to n do

begin

if maxj:=i;

end;

end;

writeln(a[j]);

writeln(g[j]);

for i

:=1 to n do ans:=ans+g[i];

writeln(ans);

end.

P1051 誰拿了最多獎學金

某校的慣例是在每學期的期末考試之後發放獎學金。發放的獎學金共有五種,獲取的條件各自不同 院士獎學金,每人8000 8000 8000 元,期末平均成績高於80 8080 分 80 80 80 並且在本學期內發表1 11篇或1 11篇以上 的學生均可獲得 五四獎學金,每人4000 4000 4000 ...

P1051 誰拿了最多獎學金

p1051 誰拿了最多獎學金 某學校設立了五種獎學金,這五種獎學金獲取條件不同,但可以兼得。現給出多名學生的資訊,統計每個學生能得到的獎學金總額。最後輸出獲得獎學金最多的學生的姓名和獎學金 獎學金大小相同時,輸出最先出現的學生姓名 以及學校總共發出去的獎學金總額。按照題意理解解答即可。獲取到學生資訊...

洛谷 P1051 誰拿了最多獎學金

問題 某校的慣例是在每學期的期末考試之後發放獎學金。發放的獎學金共有五種,獲取的條件各自不同 2 五四獎學金,每人4000元,期末平均成績高於85分 85 並且班級評議成績高於80分 80 的學生均可獲得 3 成績優秀獎,每人2000元,期末平均成績高於90分 90 的學生均可獲得 4 西部獎學金,...