#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); } |