1 solutions
-
0
C :
#include <stdio.h> #include <string.h> int main() { int avg,cgrade,art,sum,i,n,maxs,total; char name[21],maxn[21],leader,west; maxs=0; total=0; scanf("%d",&n); for (i=0;i<n;i++) { sum=0; scanf("%s %d %d %c %c %d",name,&avg,&cgrade,&leader,&west,&art); if (avg>80 && art>0) sum+=8000; if (avg>85 && cgrade>80) sum+=4000; if (avg>90) sum+=2000; if (west=='Y' && avg>85) sum+=1000; if (leader=='Y' && cgrade>80) sum+=850; if (sum>maxs) { maxs=sum; strcpy(maxn,name); } total+=sum; } printf("%s\n%d\n%d",maxn,maxs,total); return 0; }C++ :
#include<iostream> #include<algorithm> #include<cstdio> using namespace std; struct node{ string xm; int qm; int bp; char xg; char xs; int lw; int id; int jj; }; node a[110]; bool comp(const node &c,const node &b) { return c.jj>b.jj; } int main() { //freopen(""scholar.in"",""r"",stdin); //freopen(""scholar.out"",""w"",stdout); int n; int x=1; cin>>n; int zjj=0; for(int i=1 ; i<=n ; i++) { a[i].jj=0; cin>>a[i].xm>>a[i].qm>>a[i].bp>>a[i].xg>>a[i].xs>>a[i].lw; a[i].id=x++; if((a[i].qm)>80&&(a[i].lw>=1)) a[i].jj+=8000; if((a[i].qm>85)&&(a[i].bp>80)) a[i].jj+=4000; if(a[i].qm>90) a[i].jj+=2000; if((a[i].qm>85)&&(a[i].xs=='Y')) a[i].jj+=1000; if((a[i].bp>80)&&(a[i].xg=='Y')) a[i].jj+=850; zjj+=a[i].jj; } sort(a+1,a+n+1,comp); int t=1,p=2; if(a[1].jj!=a[2].jj) { cout<<a[1].xm<<endl<<a[1].jj<<endl<<zjj<<endl; return 0; } else { while(a[t].jj==a[p].jj) { if(a[t].id>a[p].id) t=p; p++; } cout<<a[t].xm<<endl<<a[t].jj<<endl<<zjj<<endl; } }Pascal :
var i,j,sum,max,n,m:longint; qimo,pingyi,lunwen:integer; ganbu,xibu:string; maxn,s:string[35]; name1,name2:string; begin {assign(input,'scholar.in'); assign(output,'scholar.out'); reset(input); rewrite(output);} readln(n); max:=0; sum:=0; for i:=1 to n do begin readln(s); j:=pos(' ',s); name1:=copy(s,1,j-1); delete(s,1,j); j:=pos(' ',s); val(copy(s,1,j-1),qimo); delete(s,1,j); j:=pos(' ',s); val(copy(s,1,j-1),pingyi); delete(s,1,j); ganbu:=copy(s,1,1); xibu:=copy(s,3,1); delete(s,1,4); val(s,lunwen); m:=0; if (qimo>80)and(lunwen>=1) then m:=m+8000; if (qimo>85)and(pingyi>80) then m:=m+4000; if qimo>90 then m:=m+2000; if (qimo>85)and(xibu='Y') then m:=m+1000; if (pingyi>80)and(ganbu='Y') then m:=m+850; sum:=sum+m; if m>max then begin max:=m; maxn:=name1; end end; writeln(maxn); writeln(max); writeln(sum); {close(input); close(output);} end.
- 1
Information
- ID
- 17917
- Time
- 1000ms
- Memory
- 128MiB
- Difficulty
- (None)
- Tags
- # Submissions
- 0
- Accepted
- 0
- Uploaded By