如果你40pts,只对了测试点1,2,3,5,那大概率是因为数据包含0,离散化出问题了
for(int i = 1;i <= n;i ++){ if(b[i] != b[i-1]){ mp[b[i]] = ++tmp; dmp[tmp] = b[i]; } }//源码
应该加上
b[0] = -1;