30分求调
查看原帖
30分求调
1401647
Leaf59楼主2025/6/24 19:22

AC AC AC WA WA WA WA WA WA WA

#include<bits/stdc++.h>
using namespace std;
struct node{
	int CH,EN,MA;
	int sc;
	int MC;
	int MAX;
	int ID;
}arr[10005]; 
bool cmp(node a,node b){
	if(a.sc==b.sc){
		if(a.MC==b.MC){
			return a.MAX>b.MAX;
		}
		return a.MC>b.MC;
	}
	return a.sc>b.sc;
}
int res[100005];
int main(){
    int n;
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>arr[i].CH>>arr[i].MA>>arr[i].EN;
        arr[i].sc=arr[i].CH+arr[i].MA+arr[i].EN;
        arr[i].MAX=max(arr[i].MA,arr[i].EN);
        arr[i].MC=arr[i].MA+arr[i].CH;
        arr[i].ID=i;
    }
    sort(arr+1,arr+n+1,cmp);
    res[arr[1].ID]=1;
    int rank=1;
    for(int i=2;i<=n;i++){
        if(arr[i].sc<arr[i-1].sc||arr[i].MC<arr[i-1].MC||arr[i].MAX<arr[i-1].MAX){
            rank=i;
        }
        res[arr[i].ID]=rank;
    }for(int i=1;i<=n;i++) cout<<res[i]<<endl;
	return 0;
} 

2025/6/24 19:22
加载中...