记录编号 343272 评测结果 TTTTTTTTTT
题目名称 Color the Axis 最终得分 0
用户昵称 Gravatar哒哒哒哒哒! 是否通过 未通过
代码语言 C++ 运行时间 10.040 s
提交时间 2016-11-09 07:20:46 内存使用 5.16 MiB
显示代码纯文本
#include <queue>
#include <iostream>
#include <cstdlib>
#include <cstring>
#include <cstdio>
using namespace std;
#define ll long long 
int read(){
	int x=0,f=1;char ch=getchar();
	while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
	while(ch>='0'&&ch<='9') x=x*10+ch-48,ch=getchar();
	return x*f;
}
const int maxn=201000;
int num[maxn*4],lazy[maxn*4],le,ri;
#define lc rt*2
#define rc rt*2+1
void build(int rt,int l,int r){
	if(l==r){
		num[rt]=1;
		return;
	}
	int mid=(l+r)/2;
	build(lc,l,mid);build(rc,mid+1,r);
	num[rt]=num[lc]+num[rc];
}
void modify(int rt,int l,int r){
	if(le<=l&&ri>=r){num[rt]=0;return;}
	int mid=(l+r)/2;
	if(le<=mid) modify(lc,l,mid);
	if(ri>mid) modify(rc,mid+1,r);
	num[rt]=num[lc]+num[rc];
}

int main(){
	freopen("Axis.in","r",stdin);freopen("Axis.out","w",stdout);
	
	int n=read(),m=read();
	build(1,1,n);
	memset(lazy,-1,sizeof lazy);
	for(int i=1;i<=m;i++){
		le=read(),ri=read();
		modify(1,1,n);
		printf("%d\n",num[1]);
	}	
	fclose(stdin);fclose(stdout);
	return 0;
}