样例过了,但是是0分
#include<bits/stdc++.h>
using namespace std;
struct T{
int ch,ma,en,sh,num;
};
bool cmp(T x,T y){
if(x.ch+x.ma+x.en!=y.ch+y.ma+y.en) return x.ch+x.ma+x.en>y.ch+y.ma+y.en;
else if(x.ch+x.ma!=y.ch+y.ma) return x.ch+x.ma>y.ch+y.ma;
else if(max(x.ch,x.ma)!=max(y.ch,y.ma)) return max(x.ch,x.ma)>max(y.ch,y.ma);
else return 0;
}
bool cmp_(T x,T y){
return x.sh<y.sh;
}
T a[10009];
int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i].ch>>a[i].ma>>a[i].en;
a[i].sh=i;
}
sort(a+1,a+n+1,cmp);
a[1].num=1;
for(int i=2;i<=n;i++){
if(a[i].ch+a[i].ma+a[i].en==a[i-1].ch+a[i-1].ma+a[i-1].en&&
a[i].ch+a[i].ma==a[i-1].ch+a[i-1].ma&&
max(a[i].ch,a[i].ma)==max(a[i-1].ch,a[i-1].ma)){
a[i].num=a[i-1].num;
}else{
a[i].num=i;
}
}
sort(a,a+n,cmp_);
for(int i=1;i<=n;i++) cout<<a[i].num<<'\n';
return 0;
}