1 条题解
-
1
#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
- 标签
- 递交数
- 7
- 已通过
- 5
- 上传者