80分求助!

P1276 校门外的树(增强版)

这道题是从 0 到 $L+1$,而不是 1 到 $L+1$。我帮你改了一下A了: ``` #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=0;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=0;i<=l+1;i++){ if(a[i]==0) ans1++; ans2+=b[i]; } printf("%lld\n%lld",ans1,ans2); return 0; } ```
by lovely_fcukh @ 2023-07-16 21:52:47


@[ahsmile](/user/744820) 如果有帮助的话可以关注哦,这样下次就可以直接私信问问题更方便~
by lovely_fcukh @ 2023-07-16 21:54:15


@[lovely_fcukh](/user/335786) 过了,谢谢
by Eternal_SZC @ 2023-07-16 21:58:24


|