#include<bits/stdc++.h>usingnamespace std;typedeflonglong ll;constint N =2e5+10;constint INF =0x3f3f3f3f;int n, m;int a[N], b[N], cnt[N];intmain(){scanf("%d%d",&n,&m);for(int i =1; i <= n;++i){scanf("%d",&a[i]);
b[i]= a[i];}sort(b +1, b +1+ n);while(m--){int x, y;scanf("%d%d",&x,&y);if(a[x]> a[y])
cnt[x]++;elseif(a[x]< a[y])
cnt[y]++;}for(int i =1; i <= n;++i){int k =lower_bound(b +1, b +1+ n, a[i])- b;printf("%d ", k -1- cnt[i]);}return0;}
训练题目链接#include <bits/stdc++.h>using namespace std;typedef long long ll;const int N = 2e5 + 10;const int INF = 0x3f3f3f3f;int n, m;int a[N], b[N], cnt[N];int main() { scanf("%d%d", &n, &m); for (int i = 1; i <= n; ++i) {