1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
using namespace std;
int tab[3][1000007];
int main () {
    ios_base::sync_with_stdio(false);
    cin.tie(0);
int n, m, l, r, k, x=0, cz=0, z=0, ni=0;
cin>>n>>m;
for(int i=0; i<m; i++) {
    cin>>l>>r>>k;
    if(tab[k-1][l]<r-l+1) tab[k-1][l]=r-l+1;
}
for(int i=1; i<=n; i++) {
if(tab[0][i]>z) z=tab[0][i];
if(tab[1][i]>ni) ni=tab[1][i];
if(tab[2][i]>cz) cz=tab[2][i];
if(z>=1 && ni>=1 && cz==0) x++;
if(z!=0) z--;
if(ni!=0) ni--;
if(cz!=0) cz--;
}
cout<<x;
}