题解
2024-03-19 21:30:39
发布于:陕西
12阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
int n,k;
int x,y;
int a[200010];
int b[200010];
int c[200010];
int main() {
ios::sync_with_stdio(false);
cin >> n >> k;
for(int i=1;i<=n;i++) {
cin >> a[i];
b[i] = a[i];
c[i] = 0;
}
sort(a+1,a+n+1);
while(k--) {
cin >> x >> y;
if (b[y] < b[x]) {
c[x]++;
} else if (b[y] > b[x]) {
c[y]++;
}
}
for(int i=1;i<=n;i++) {
int idx = lower_bound(a+1,a+n+1, b[i]) - a;
int ans = idx - c[i] - 1;
cout << max(0,ans) << " ";
}
cout << endl;
return 0;
}
这里空空如也
有帮助,赞一个