2 条题解

  • 1
    @ 2026-4-8 12:29:12

    #include<bits/stdc++.h> #define int long long using namespace std; struct s1{ int r,wz,zdl; }s[200010]; int n,k,a,b; bool cmp(s1 s2,s1 s3){ return s2.zdl<s3.zdl; } bool cmp2(s1 s2,s1 s3){ return s2.wz<s3.wz; } signed main(){ cin>>n>>k; for(int i=1;i<=n;i++){ cin>>s[i].zdl; s[i].wz=i; } sort(s+1,s+1+n,cmp); s[1].r=0; for(int i=1;i<=n;i++){ if(s[i].zdl>s[i-1].zdl){ s[i].r=i-1; }else{ s[i].r=s[i-1].r; } } sort(s+1,s+1+n,cmp2); while(k--){ cin>>a>>b; if(s[a].zdl>s[b].zdl){ s[a].r--; }else if(s[a].zdl<s[b].zdl){ s[b].r--; } } for(int i=1;i<=n;i++){ cout<<s[i].r<<" "; } return 0; }

    信息

    ID
    4971
    时间
    1000ms
    内存
    128MiB
    难度
    2
    标签
    递交数
    26
    已通过
    16
    上传者