#include<bits/stdc++.h>
using namespace std;
const int maxn=(int)1e6+10;
int tab[maxn];
int yel[maxn];
int red[maxn];
int blu[maxn];
int main()
{
int n,m;
scanf("%d %d",&n, &m);
while(m--)
{
int l,r,k;
scanf("%d %d %d",&l, &r, &k);
if(k==1)
{ ++yel[l]; --yel[r+1]; }
if(k==2)
{ ++blu[l]; --blu[r+1]; }
if(k==3)
{ ++red[l]; --red[r+1]; }
}
int wyn=0;
int rr=0,bb=0,yy=0;
for(int i=1;i<=n;i++)
{
yy+=yel[i];
bb+=blu[i];
rr+=red[i];
if(yy>0 && bb>0 && rr==0)
++wyn;
}
printf("%d",wyn);
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | #include<bits/stdc++.h> using namespace std; const int maxn=(int)1e6+10; int tab[maxn]; int yel[maxn]; int red[maxn]; int blu[maxn]; int main() { int n,m; scanf("%d %d",&n, &m); while(m--) { int l,r,k; scanf("%d %d %d",&l, &r, &k); if(k==1) { ++yel[l]; --yel[r+1]; } if(k==2) { ++blu[l]; --blu[r+1]; } if(k==3) { ++red[l]; --red[r+1]; } } int wyn=0; int rr=0,bb=0,yy=0; for(int i=1;i<=n;i++) { yy+=yel[i]; bb+=blu[i]; rr+=red[i]; if(yy>0 && bb>0 && rr==0) ++wyn; } printf("%d",wyn); } |
English