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
#include <iostream>

using namespace std;


int n,m,l,r,k,Z[1000003],N[1000003],C[1000003], licznik=0;
int main()
{
    ios_base::sync_with_stdio(0);
    cin>>n>>m;
    for (int i=0; i<m;++i) //czytanie
    {
        cin>>l>>r>>k;
        if(k==1) {Z[l]++;Z[r+1]--;}
        if(k==2) {N[l]++;N[r+1]--;}
        if(k==3) {C[l]++;C[r+1]--;}
    }

    for (int i=2; i<=n;++i) //uzupełnianie tablic
     {
         Z[i]=Z[i]+Z[i-1];
         N[i]=N[i]+N[i-1];
         C[i]=C[i]+C[i-1];
       }
     for (int i=1; i<=n;++i) //określenie wyniku
     {
         if(!C[i]&&Z[i]>0&&N[i]>0) licznik++;
     }
     cout<<licznik;

    return 0;
}