60pts TLE 玄关 qiuqiu帮助
查看原帖
60pts TLE 玄关 qiuqiu帮助
636409
Headofstate1945楼主2024/10/15 11:08
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=2e5+5;
struct node{
	int Au,Ag,Cu,id,ra;
}a[N];
bool cmp1(node x,node y){
	return x.Au>=y.Au;
}
bool cmp2(node x,node y){
	return x.Ag>=y.Ag;
}
bool cmp3(node x,node y){
	return x.Cu>=y.Cu;
}
bool cmp4(node x,node y){
	return x.id<y.id;
}
signed main(){
//	freopen("medal.in","r",stdin);
//	freopen("wrong_medal.out","w",stdout);
//	ios::sync_with_stdio(0);
	int n;
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a[i].Au>>a[i].Ag>>a[i].Cu;
		a[i].id=i;
		a[i].ra=INT_MAX;
	}
	sort(a+1,a+1+n,cmp1);
	int last=1;
	for(int i=1;i<=n;i++){
		if(a[i].Au!=a[i-1].Au)last=i;
		a[i].ra=min(a[i].ra,last);
	}
	sort(a+1,a+1+n,cmp2);
	for(int i=1;i<=n;i++){
		if(a[i].Ag!=a[i-1].Ag)last=i;
		a[i].ra=min(a[i].ra,last);
	}
	sort(a+1,a+1+n,cmp3);
	for(int i=1;i<=n;i++){
		if(a[i].Cu!=a[i-1].Cu)last=i;
		a[i].ra=min(a[i].ra,last);
	}
	sort(a+1,a+1+n,cmp4);
	for(int i=1;i<=n;i++){
		cout<<a[i].ra<<"\n";
	}	
	return 0;
}
2024/10/15 11:08
加载中...