废话少说,直接看代码。
#include<iostream>
#include<map>
#include<vector>
using namespace std;
int main(){
int n;
cin>>n;
vector<int> v;
map<int,int> m;
for(int i=0;i<n;i++){
int j;
cin>>j;
v.push_back(j);
m[j]=1;
}
int fg=1;
for(auto i=m.rbegin();i!=m.rend();i++){
(*i).second=fg;
fg++;
}
for(auto i=v.begin();i!=v.end()-1;i++){
cout<<m[*i]<<" ";
}
cout<<m[*v.rbegin()]<<endl;
}