60pts,求调qwp
查看原帖
60pts,求调qwp
1121221
Czming__楼主2024/10/13 13:18
#include<bits/stdc++.h>
using namespace std;
//#define int long long
struct yll{
	int g,s,b,ans,id;
}a[200001];
int n,sum;
bool cmpg(yll x,yll y){
	return x.g>=y.g;
}
bool cmps(yll x,yll y){
	return x.s>=y.s;
}
bool cmpb(yll x,yll y){
	return x.b>=y.b;
}
bool cmpid(yll x,yll y){
	return x.id<y.id;
}
signed main(){
//	freopen("medal3.in","r",stdin);
//	freopen("medal.out","w",stdout);
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a[i].g;
		cin>>a[i].s;
		cin>>a[i].b;
		a[i].ans=n+1;
		a[i].id=i;
	}
	sort(a+1,a+n+1,cmpg);
	sum=1;
	a[1].ans=1;
	for(int i=2;i<=n;i++){
		if(a[i].g!=a[i-1].g){
			sum=i;
		}
		a[i].ans=min(a[i].ans,sum);
	} 
	
	sort(a+1,a+n+1,cmps);
	sum=1;
	a[1].ans=1;
	for(int i=2;i<=n;i++){
		if(a[i].s!=a[i-1].s){
			sum=i;
		}
		a[i].ans=min(a[i].ans,sum);
	} 
	
	sort(a+1,a+n+1,cmpb);
	sum=1;
	a[1].ans=1;
	for(int i=2;i<=n;i++){
		if(a[i].b!=a[i-1].b){
			sum=i;
		}
		a[i].ans=min(a[i].ans,sum);
	} 
	
	sort(a+1,a+n+1,cmpid);
	for(int i=1;i<=n;i++){
		cout<<a[i].ans;
		cout<<endl;
	}
	return 0;
}
//是你吧 撕下一缕霓裳 借我照亮 盒中之花

蒟蒻不能理解,#13及以后WA了,用了快读还是这样,那为什么#10~#12 nn 的范围也是一样,我就可以?( 500ms500ms 以内)

2024/10/13 13:18
加载中...