社区讨论
30分RE求助
P11185奖牌排序参与者 2已保存回复 3
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 3 条
- 当前快照
- 1 份
- 快照标识符
- @m27571zq
- 此快照首次捕获于
- 2024/10/13 13:26 去年
- 此快照最后确认于
- 2024/10/13 15:27 去年
CPP
#include<bits/stdc++.h>
using namespace std;
typedef unsigned long long ull;
ull n,m,A[200000],B[200000],C[200000];
ull maxa,maxb,maxc,s1[200000],s2[200000],s3[200000];
struct student
{
ull a,b,c;
}s[200001];
bool cmp(int x,int y)
{
return x>y;
}
int main()
{
cin>>n;
for(ull i=0;i<n;i++)
{
cin>>s[i].a>>s[i].b>>s[i].c;
s1[i]=s[i].a;
s2[i]=s[i].b;
s3[i]=s[i].c;
if(s[i].a>maxa) maxa=s[i].a;
if(s[i].b>maxb) maxb=s[i].b;
if(s[i].c>maxc) maxc=s[i].c;
}
sort(s1,s1+n,cmp);
sort(s2,s2+n,cmp);
sort(s3,s3+n,cmp);
/*cout<<endl;
for(int j=0;j<n;j++) printf("%d %d %d\n",s1[j].a,s1[j].b,s1[j].c);
cout<<endl;
for(int j=0;j<n;j++) printf("%d %d %d\n",s2[j].a,s2[j].b,s2[j].c);
cout<<endl;
for(int j=0;j<n;j++) printf("%d %d %d\n",s3[j].a,s3[j].b,s3[j].c);
cout<<endl;*/
for(ull j=0;j<n;j++)
{
if(A[s1[j]]==0)
{
A[s1[j]]=j+1;
//cout<<"A["<<s1[j].a<<"]="<<A[s1[j].a]<<endl;
}
if(B[s2[j]]==0)
{
B[s2[j]]=j+1;
//cout<<"B["<<s2[j].b<<"]="<<B[s2[j].b]<<endl;
}
if(C[s3[j]]==0)
{
C[s3[j]]=j+1;
//cout<<"C["<<s3[j].c<<"]="<<C[s3[j].c]<<endl;
}
}
for(ull i=0;i<n;i++)
{
cout<<min(A[s[i].a],min(B[s[i].b],C[s[i].c]))<<endl;
}
return 0;
}
回复
共 3 条回复,欢迎继续交流。
正在加载回复...