离散化 for(int i=1;i<=n;i++) { cin>>a[i]; t[i] = a[i]; } sort(t+1,t+n+1); int m = unique(t+1,t+n+1)-t-1; for(int i=1;i<=n;i++) { a[i] = lower_bound(t+1,t+m+1,a[i])-t; }