复杂度 O ( n l o g ( n ) ) O(nlog(n)) O(nlog(n)):
//vector+sort+unique+lower_bound
#include<bits/stdc++.h>
using namespace std;
const int maxn = 1e6+5;
int n,a[maxn];
vector <int> key;
int main(){
cin >> n;
for(int i = 0; i < n; i++) {
cin >> a[i];
key.push_back(a[i]);
}
sort(key.begin(),key.end());
int m = unique(key.begin(), key.end()) - key.begin();
for(int i = 0; i < n; i++) {
//lower_bound返回数组下标,加1是为了从1开始
a[i] = lower_bound(key.begin(), key.end(), a[i]) - key.begin() + 1;
}
return 0;
}