40分求调
查看原帖
40分求调
1034698
jzy_CSPJ_AK楼主2024/10/14 14:45
#include<bits/stdc++.h>
using namespace std;
struct G{
	int a,bb;
}g[200005],s[200005],b[200005];
int gg[200005],ss[200005],bb[200005],n;
bool cmp(G a,G b){
	return a.a>b.a;
}
signed main(){
	ios::sync_with_stdio(false);cin.tie(0);
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>g[i].a>>s[i].a>>b[i].a;
		g[i].bb=i,s[i].bb=i,b[i].bb=i;
	}
	sort(g+1,g+1+n,cmp);
	sort(s+1,s+1+n,cmp);
	sort(b+1,b+1+n,cmp);
	for(int i=1;i<=n;i++){
		gg[g[i].bb]=i;
		ss[s[i].bb]=i;
		bb[b[i].bb]=i;
	}
	for(int i=1;i<=n;i++){
		int cnt=i,ggg=gg[i],sss=ss[i],bbb=bb[i];
		while(g[cnt].a==g[cnt-1].a&&cnt>1)cnt--,ggg--;
		cnt=i;
		while(s[cnt].a==s[cnt-1].a&&cnt>1)cnt--,sss--;
		cnt=i;
		while(b[cnt].a==b[cnt-1].a&&cnt>1)cnt--,bbb--;
		cout<<min(ggg,min(sss,bbb))<<endl;
	}
	return 0;
} 

40分求调:(

2024/10/14 14:45
加载中...