int l = unique(tmp + 1,tmp + n + 1) - tmp; for(int i = 1;i <= n;i ++){ val[i] = lower_bound(tmp + 1,tmp + l,val[i]) - tmp; }
检查lower_bound第二个参数应该传tmp+l还是tmp+l+1
lower_bound
tmp+l
tmp+l+1