80分求助!
查看原帖
80分求助!
744820
Eternal_SZC楼主2023/7/16 21:44
#include<bits/stdc++.h>
using namespace std;
#define ll long long
int a[1000005],b[1000005];
template <typename TM>
void in(TM &n){
	char c=getchar();
	int f=1;
	while ((c>'9' || c<'0') && c!='-') c=getchar();
	if(c=='-') f=-1, c=getchar();
	for(n=0; c>='0'&&c<='9'; c=getchar()) n=n*10+c-'0';
	n*=f;
}
int main(){
	ll l,n;
	in(l),in(n);
	ll m,x,y;
	for(int i=1;i<=l+1;i++){
		a[i]=2;
	}
	while(n--){
		in(m),in(x),in(y);
		if(m==0){
			for(int i=x;i<=y;i++){
				if(a[i]==0) b[i]++;
				a[i]=1;
			}
		}
		if(m==1){
			for(int i=x;i<=y;i++){
				if(a[i]==1) a[i]=0;
			}
		}
	}
	ll ans1=0,ans2=0;
	for(int i=1;i<=l+1;i++){
		if(a[i]==0) ans1++;
		ans2+=b[i];
	}
	printf("%lld\n%lld",ans1,ans2);
	return 0;
} 
2023/7/16 21:44
加载中...