离散化标程
#include<bits/stdc++.h>
using namespace std;
const int maxn = 102;
int n,a[maxn],b[maxn];
int main(){
cin >> n;
for(int i = 1;i <= n;++i) cin >> a[i];
for(int i = 1;i <= n;++i) b[i] = a[i];
sort(a + 1,a + n + 1);
int len = unique(a + 1,a + n + 1) - a - 1;
for(int i = 1;i <= len;++i)
b[i] = lower_bound(a + 1,a + n + 1,b[i]) - a;
for(int i = 1;i <= len;++i)
cout << b[i] << " ";
return 0;
}
/*
输入:
5
4000 201 11 45 11
输出:
4 3 1 2
*/

浙公网安备 33010602011771号