警示后人!
查看原帖
警示后人!
93701
Morgen_Kornblume楼主2021/5/18 22:21
ll query_Kth(int l,int r,int k){
	vector<pair<ll,int> >vec;
	vec.clear();
	set<zone>::iterator itr=split(r+1),itl=split(l);
	for(set<zone>::iterator it=itl;it!=itr;++it){
		vec.push_back(make_pair(it->val,it->r - it->l +1));
	}
	sort(vec.begin(),vec.end());
	for(vector<pair<ll,int> >::iterator it=vec.begin();it!=vec.end();++it){
		if(k-=it->second <=0)return it->first;	
	}
	
	return -1;
}

一时封装一时爽,一个UB死全家

if(k-=it->second <=0)return it->first;

k-=it->second <=0 经典UB现场!

这种地方建议不要为了压行简写

写成:

k-=it->second;
if(k<=0)return it->first;

就对了!

调了114514秒真是气死了!

2021/5/18 22:21
加载中...