1. 题目

传送门= ̄ω ̄=

2. 题解

又用STL水了一题。。。

呜呼!造孽啊!

代码:

#include <bits/stdc++.h>
using namespace std;
template<typename _Tp>inline void IN(_Tp&dig)
{
    char c;bool flag=0;dig=0;
    while(c=getchar(),!isdigit(c))if(c=='-')flag=1;
    while(isdigit(c))dig=dig*10+c-'0',c=getchar();
    if(flag)dig=-dig;
}
int n,ans,opt,k;
multiset<int> t[2];
int main()
{
    IN(n);
    while(n--)
    {
        IN(opt),IN(k);
        if(t[!opt].empty())t[opt].insert(k);
        else
        {
            int j=INT_MAX,l=0;
            multiset<int>::iterator i=t[!opt].insert(k),tmp;
            if(tmp=i,tmp!=t[!opt].begin())if(tmp--,j>k-*tmp)l=0,j=k-*tmp;
            if(tmp=i,++tmp!=t[!opt].end())if(j>*tmp-k)l=1,j=*tmp-k;
            if(ans=(ans+j)%1000000,l)t[!opt].erase(++i);
            else t[!opt].erase(--i);
            t[!opt].erase(t[!opt].lower_bound(k));
        }
    }
    printf("%d\n",ans);
    return 0;
}
分类: 所有

XZYQvQ

炒鸡辣鸡的制杖蒟蒻一枚QvQ

发表评论

电子邮件地址不会被公开。 必填项已用*标注

你是机器人吗? =。= *