社区讨论
求助RE 30p
P2286[HNOI2004] 宠物收养场参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @lobck4nt
- 此快照首次捕获于
- 2023/10/29 18:47 2 年前
- 此快照最后确认于
- 2023/11/04 00:31 2 年前
CPP
#include<bits/stdc++.h>
using namespace std;
vector<int> dl;
int js;
int main()
{
int n;
scanf("%d",&n);
int ans=0;
for(int ii=1;ii<=n;ii++)
{
int op,x;
scanf("%d%d",&op,&x);
op=(op==1)?1:-1;
if(js==0)
{
dl.push_back(x);
js=js+op;
}
else if((js>0&&op==1)||(js<0&&op==-1))
{
dl.insert(lower_bound(dl.begin(),dl.end(),x),x);
js=js+op;
}
else if((js>0&&op==-1)||(js<0&&op==1))
{
vector<int>::iterator t=lower_bound(dl.begin(),dl.end(),x);
if(*t==x||*t==dl.begin())
{
ans=ans+(*t-x);
dl.erase(t);
}
else if((*t-x)>=(x-*(t-1)))
{
ans=ans+(x-*(t-1));
dl.erase(t-1);
}
else
{
ans=ans+(*t-x);
dl.erase(t);
}
js=js+op;
}
ans=ans%1000000;
}
printf("%d",ans);
return 0;
}
回复
共 0 条回复,欢迎继续交流。
正在加载回复...