比赛 [不是Rapiz出的]农场主钦定NOIP模拟赛1 评测结果 TTTTTTTTTT
题目名称 Color the Axis 最终得分 0
用户昵称 Kulliu 运行时间 10.030 s
代码语言 C++ 内存使用 0.34 MiB
提交时间 2016-11-08 21:36:42
显示代码纯文本
#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdlib>
#include<cctype>
#include<cstdio>
#include<vector>
#include<queue>
#include<ctime>
#include<cmath>
#include<list>
#include<map>
#include<set>
using namespace std;
#define F(i,l,r) for(int i=l;i<=r;i++)
#define D(i,r,l) for(int i=r;i>=l;i--)
#define lson l , mid , rt << 1
#define rson mid+1 , r , rt << 1|1
typedef long long LL;
const int INF = 100000000,N = 2010;
int n,m, col[N<<2],sum[N<<2];

inline void read(int &v){
    v=0;int f=1;char ch=getchar();
    while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
    while(ch<='9'&&ch>='0'){v=v*10+ch-48;ch=getchar();}v*=f;
}

inline void PushUp(int rt){
    col[rt]=col[rt<<1]+col[rt<<1|1];
}

void update(int L,int R,int l,int r,int rt){
    if(L<=l&&r<=R){
        col[rt]=r-l+1;
        return;
    }
    int mid=(l+r)>>1;
    if(L<=mid)update(L,R,lson);
    if(R>mid)update(L,R,rson);
    PushUp(rt);
}

int main(){
    int l,r;
    read(n),read(m);
    F(i,1,m){
        read(l),read(r);
        update(l,r,1,n,1);
        printf("%d\n",n-col[1]);
    }
    return 0;
}