记录编号 437851 评测结果 AAAAAAAAAA
题目名称 Color the Axis 最终得分 100
用户昵称 GravatarBaDBoY 是否通过 通过
代码语言 C++ 运行时间 1.226 s
提交时间 2017-08-14 19:43:57 内存使用 4.50 MiB
显示代码纯文本
#include<cstdio>
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
#define ls(rt) (rt<<1)
#define rs(rt) (rt<<1|1)
int read() {
	int s=0,f=1;
	char ch=getchar();
	while(ch>'9'||ch<'0') {
		if(ch=='-') {
			f=-1;
		}
		ch=getchar();
	}
	while(ch>='0'&&ch<='9') {
		s=(s<<1)+(s<<3)+(ch^48);
		ch=getchar();
	}
	return s*f;
}
int n,m;
int tree[4*200005],lazy[4*200005];
void pushup(int rt) {
	tree[rt]=tree[ls(rt)]+tree[rs(rt)];
}
void pushdown(int rt) {
	if(lazy[rt]) {
		lazy[ls(rt)]=1;
		lazy[rs(rt)]=1;
		tree[ls(rt)]=0;
		tree[rs(rt)]=0;
		lazy[rt]=0;
	}
}
void build(int i,int l,int r) {
	if(l==r) {
		tree[i]=1;
		return ;
	}
	int mid=l+r>>1;
	build(ls(i),l,mid);
	build(rs(i),mid+1,r);
	pushup(i);
}
void update(int i,int L,int R,int l,int r) {
	if(l<=L&&R<=r) {
		tree[i]=0;
		lazy[i]=1;
		return ;
	}
	pushdown(i);
	int mid=L+R>>1;
	if(l<=mid) {
		update(ls(i),L,mid,l,r);
	}
	if(r>mid) {
		update(rs(i),mid+1,R,l,r);
	}
	pushup(i);
}
int Main() {
	freopen("axis.in","r",stdin);
	freopen("axis.out","w",stdout);
	n=read(),m=read();
	build(1,1,n);
	for(int i=1; i<=m; ++i) {
		int x=read(),y=read();
		update(1,1,n,x,y);
		printf("%d\n",tree[1]);
	}
	return 0;
}
int hehe=Main();
int main(){
}