1 条题解

  • 0
    @ 2025-3-15 10:46:01
    #include<bits/stdc++.h>
    using namespace std;
    struct Score{
    	int num;
    	int Chinese;
    	int math;
    	int English;
    	int all;
    } arr[10005];
    bool cmp(Score p,Score q){
    	if (p.all==q.all){
    		if(p.Chinese==q.Chinese)
    			return p.num<q.num;
    		else return p.Chinese>q.Chinese;
    	}else{
    		return p.all>q.all;		
    	}
    }
    int main(){
    	int n;
    	scanf("%d",&n);
    	for(int i=1;i<=n;i++){
    		arr[i].num=i;
    		cin>>arr[i].Chinese;
    		cin>>arr[i].math;
    		cin>>arr[i].English;
    		arr[i].all=arr[i].Chinese+arr[i].math+arr[i].English;
    	}
    	sort(arr+1,arr+n+1,cmp);
    	for(int i=1;i<=5;i++){
    		cout<<arr[i].num<<" "<<arr[i].all<<endl;
    	}
    	return 0;
    }
    
    • 1

    信息

    ID
    487
    时间
    1000ms
    内存
    256MiB
    难度
    10
    标签
    递交数
    4
    已通过
    3
    上传者