社区讨论

45RE囚⑨

P11185奖牌排序参与者 3已保存回复 4

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
4 条
当前快照
1 份
快照标识符
@m2d04edn
此快照首次捕获于
2024/10/17 15:50
去年
此快照最后确认于
2024/10/17 16:02
去年
查看原帖
CPP
#include<bits/stdc++.h>
#define endl '\n'
using namespace std;
template<typename T> void read(T&x){
	int sign=1;x=0;char c;
	do{
		c=getchar();
		if(c=='-') sign=-1;
	}while(!isdigit(c));
	do{
		x=x*10+c-'0';
		c=getchar();
	}while(isdigit(c));
	x*=sign;
}
struct op{
	int x,y;
}g[200010],s[100010],b[100010];
struct opp{
	int x,y,z;
}a[200010];
int n;
bool cmp(op x,op y){
	return x.x>y.x;
}
signed main(){
	read(n);
	for(int i=1;i<=n;i++){
		read(g[i].x);read(s[i].x);read(b[i].x);
		g[i].y=i;s[i].y=i;b[i].y=i;
	}
	sort(g+1,g+1+n,cmp);sort(s+1,s+1+n,cmp);sort(b+1,b+1+n,cmp);
	g[0].x=-1;
	s[0].x=-1;
	b[0].x=-1; 
    int o=0; 
	for(int i=1;i<=n;i++){
		if(g[i].x!=g[i-1].x){
			o=i;
		}
		a[g[i].y].x=o;
	}
    o=0; 
	for(int i=1;i<=n;i++){
		if(s[i].x!=s[i-1].x){
			o=i;
		}
		a[s[i].y].y=o;
	}
    o=0; 
	for(int i=1;i<=n;i++){

		if(b[i].x!=b[i-1].x){
			o=i;
		}
		a[b[i].y].z=o;
	}
	for(int i=1;i<=n;i++){
		cout<<min(a[i].x,min(a[i].y,a[i].z))<<endl;
	}
	return 0;
}

回复

4 条回复,欢迎继续交流。

正在加载回复...