BZOJ-1208: [HNOI2004]宠物收养所

题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1208

代码(STL):

#include 
#include 
 
using namespace std;
 
#define inf 0x7fffffff
 
setbst;
int n,x,y,ans=0,st;
 
int main() {
    bst.insert(-inf),bst.insert(inf);
    cin>>n;
    while (n--) {
        cin>>x>>y;
        if (bst.size()==2) bst.insert(y),st=x
        ;  else if (st!=x) {
            int r=*bst.lower_bound(y),l=*(--bst.lower_bound(y));
            if (y-l<=r-y&&l>-inf) ans+=y-l,bst.erase(l)
            ;  else ans+=r-y,bst.erase(r);
            ans%=1000000;
        } else bst.insert(y);
    }
    cout<

你可能感兴趣的:(BZOJ-1208: [HNOI2004]宠物收养所)