#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
vector<int> a,b;
int li(int x){
return (int)(lower_bound(b.begin(),b.end(),x)-b.begin()+1);
}
int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++){
int x;
cin>>x;
a.push_back(x);
b.push_back(x);
}
sort(b.begin(),b.end());
b.erase(unique(b.begin(),b.end()),b.end());
for(int i=0;i<a.size();i++){
a[i]=li(a[i]);
}
}
直接上板子。
unique的作用是去重,并且返回去除重复元素序列后的第一个元素,详情请见百度百科
l