为何CE
查看原帖
为何CE
1383625
kkksc_tbh楼主2025/2/7 09:56
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=1e4+5;
int n;
struct tbh{
	int c,m,e,sum,cm,maxx,f=0,num,id=0;
}q[N];
int cmp(tbh &x,tbh &y){
	if(x.sum!=y.sum){
		return x.sum>y.sum;
	}else if(x.cm!=y.cm){
		return x.cm>y.cm;
	}else if(x.maxx!=y.maxx){
		return x.maxx>y.maxx;
	}else{
		if(x.num<y.num){
			y.f=1;
		}else{
			x.f=1;
		} 
		return x.num<y.num;
	}
}
bool tmp(tbh x,tbh y){
	return x.num<y.num;
}
signed main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>q[i].c>>q[i].m>>q[i].e;
		q[i].sum=q[i].c+q[i].m+q[i].e;
		q[i].cm=q[i].c+q[i].m;
		q[i].maxx=max(q[i].c,q[i].maxx);
		q[i].num=i;
	}
	sort(q+1,q+n+1,cmp);
	for(int i=1;i<=n;i++){
		if(q[i].id){
			continue;
		}else{
			q[i].id=i;
			int cnt=1;
			while(q[i+cnt].f){
				q[i+cnt].id=q[i].id;
				cnt++;
			}
		}
	}
	sort(q+1,q+n+1,tmp);
	for(int i=1;i<=n;i++){
		cout<<q[i].id<<endl;
	}
	return 0;
}

2025/2/7 09:56
加载中...