社区讨论
30分求调
B3968[GESP202403 五级] 成绩排序参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mcaft77x
- 此快照首次捕获于
- 2025/06/24 19:23 9 个月前
- 此快照最后确认于
- 2025/11/04 06:59 4 个月前
AC AC AC WA WA WA WA WA WA WA
CPP#include<bits/stdc++.h>
using namespace std;
struct node{
int CH,EN,MA;
int sc;
int MC;
int MAX;
int ID;
}arr[10005];
bool cmp(node a,node b){
if(a.sc==b.sc){
if(a.MC==b.MC){
return a.MAX>b.MAX;
}
return a.MC>b.MC;
}
return a.sc>b.sc;
}
int res[100005];
int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++){
cin>>arr[i].CH>>arr[i].MA>>arr[i].EN;
arr[i].sc=arr[i].CH+arr[i].MA+arr[i].EN;
arr[i].MAX=max(arr[i].MA,arr[i].EN);
arr[i].MC=arr[i].MA+arr[i].CH;
arr[i].ID=i;
}
sort(arr+1,arr+n+1,cmp);
res[arr[1].ID]=1;
int rank=1;
for(int i=2;i<=n;i++){
if(arr[i].sc<arr[i-1].sc||arr[i].MC<arr[i-1].MC||arr[i].MAX<arr[i-1].MAX){
rank=i;
}
res[arr[i].ID]=rank;
}for(int i=1;i<=n;i++) cout<<res[i]<<endl;
return 0;
}
回复
共 0 条回复,欢迎继续交流。
正在加载回复...