1 solutions

  • 0
    @ 2025-11-5 16:40:08

    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