STL离散化

typedef long long ll;
const int N = 1e5+10;

int main()
{
    int a[N],sub[N];
    int n;
    scanf("%d",&n);
    for(int i = 0; i < n; i++) {
        scanf("%d",&sub[i]);
        a[i] = sub[i];
    }
    sort(sub, sub + n);
    int size = unique(sub, sub + n) - sub;

    printf("size  %d\n",size);
    for(int i = 0; i < n; i++)
        a[i] = lower_bound(sub, sub + size, a[i]) - sub;
    for(int i =0 ;i < n; i++) printf("%d ", a[i]);
    printf("\n");
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qihang_qihang/article/details/80739063