1041C 2019/2/8 数据结构set

坑的一比,自己超级沙雕。

#include
#include
#include
#define ll int
using namespace std;
struct ss{
	ll x;
	ll index_;
}a[300050];
ll flag[300050];
set st;
ll n,m,d;
set::iterator it;
bool cmp(ss x,ss y)
{
	return(x.x= num) {
            right = mid - 1;
        }
        else {
            left = mid + 1;
        }
	}
	flag[a[left].index_]=group;
	return;
}
int main()
{
//	freopen("data.in","r",stdin);
    ios::sync_with_stdio(false);
	cin>>n>>m>>d;
	for(ll i=0;i>a[i].x;
		a[i].index_=i;
		st.insert(a[i].x);
	}
	sort(a,a+n,cmp);
	ll group=0;
	while(!st.empty())
	{
		group++;
		it=st.begin();
		ll num=*it;
		set_group(num,group);
		st.erase(it);
		num+=d+1;
		while(!st.empty()&&st.lower_bound(num)!=st.end())
		{
			it=st.lower_bound(num);
			set_group(*it,group);
			num=*it+d+1;
			st.erase(it);
			//cout<
    num=*it+d+1;
    st.erase(it);

    st.erase(it);
    num=*it+d+1;

注意这两者的区别:先删除,后使用,先使用后删除,这个很致命。

你可能感兴趣的:(Codeforce,set)