95 #13WA
查看原帖
95 #13WA
786726
kobebraint楼主2024/10/13 12:27

有无大佬

#include<bits/stdc++.h>
using namespace std;

#define ll long long
#define cl(a) memset(a,0,sizeof a)
#define copy(a,b) copy(begin(a),end(a),begin(b))
#define rank paiming

struct rank{
    ll medal,id;
}Au_rank[2000050],Ag_rank[2000050],Cu_rank[2000050];

ll n,Au_best,Ag_best,Cu_best;
ll rank_in_Au[2000050],rank_in_Ag[2000050],rank_in_Cu[2000050];

bool cmp(rank a,rank b){
    return a.medal>b.medal;
}

int main(){
    ios::sync_with_stdio(false);
    cin.tie(NULL);cout.tie(NULL);
    cin>>n;
    for(ll i=1;i<=n;i++){
        cin>>Au_rank[i].medal>>Ag_rank[i].medal>>Cu_rank[i].medal;
        Au_rank[i].id=Ag_rank[i].id=Cu_rank[i].id=i;
    }
    sort(Au_rank+1,Au_rank+n+10,cmp);
    sort(Ag_rank+1,Ag_rank+n+10,cmp);
    sort(Cu_rank+1,Cu_rank+n+10,cmp);
    Au_rank[0].medal=Ag_rank[0].medal=Cu_rank[0].medal=1145141919810;
    for(ll i=1;i<=n;i++){
        if(Au_rank[i].medal!=Au_rank[i-1].medal){
            rank_in_Au[Au_rank[i].id]=Au_best=i;
        }else{
            rank_in_Au[Au_rank[i].id]=Au_best;
        }
        if(Ag_rank[i].medal!=Ag_rank[i-1].medal){
            rank_in_Ag[Ag_rank[i].id]=Ag_best=i;
        }else{
            rank_in_Ag[Ag_rank[i].id]=Ag_best;
        }
        if(Cu_rank[i].medal!=Cu_rank[i-1].medal){
            rank_in_Cu[Cu_rank[i].id]=Cu_best=i;
        }else{
            rank_in_Cu[Cu_rank[i].id]=Cu_best;
        }
    }
    for(ll i=1;i<=n;i++){
        cout<<min(rank_in_Ag[i],min(rank_in_Au[i],rank_in_Cu[i]))<<endl;
    }
    return 0;
}
2024/10/13 12:27
加载中...