社区讨论
不!!!救我!!
B3968[GESP202403 五级] 成绩排序参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mlkb0p02
- 此快照首次捕获于
- 2026/02/13 11:04 4 周前
- 此快照最后确认于
- 2026/02/15 22:05 3 周前
CPP
#include<bits/stdc++.h>
using namespace std;
struct st{
int c,m,e,s1,s2,s3,r,id;
}s[1000005];
bool cmp(st a,st b)
{
if(a.s1!=b.s1)
{
return a.s1>b.s1;
}
else
{
if(a.s2!=b.s2)
{
return a.s2>b.s2;
}
else
{
return (a.s3>b.s3);
}
}
}
bool cmp1(st a,st b)
{
return a.id<b.id;
}
int main()
{
int n;
cin>>n;
for(int i=0;i<n;i++)
{
cin>>s[i].c>>s[i].m>>s[i].e;
s[i].id=i;
s[i].s1=s[i].c+s[i].m+s[i].e;
s[i].s2=s[i].c+s[i].m;
s[i].s3=max(s[i].c,s[i].m);
}
sort(s,s+n,cmp);
s[0].r=1;
for(int i=1;i<n;i++)
{
if(s[i].s1==s[i-1].s1&&s[i].s2==s[i-2].s2&&s[i].s3==s[i-3].s3)
{
s[i].r==s[i-1].r;
}
else
{
s[i].r=i+1;
}
}
sort(s,s+n,cmp1);
for(int i=0;i<n;i++)
{
cout<<s[i].r<<endl;
}
return 0;
}
回复
共 0 条回复,欢迎继续交流。
正在加载回复...