社区讨论
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 条回复,欢迎继续交流。
正在加载回复...