sb UVA 不给数据范围,于是我爬了它的数据,得到 1≤n≤106,1≤ai≤109。
- 多组数据,记得把所有都清空,如果还是 WA / RE 多检查一下;
- 由于【1】,需要离散化
- 不要用 set / map 离散化,会 T,建议使用下面的:
vector<pair<int,int>> vals;
rep(i,1,n) a[i]=read(),vals.emplace_back(a[i],i);
sort(vals.begin(),vals.end());
for(auto it=vals.begin();it!=vals.end();++it)
{
if(it!=vals.begin()&&it->first==prev(it)->first) --cnt;
a[it->second]=++cnt;
}
``