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
37
38
39
40
41
42
43
44
45
46
47
#include <bits/stdc++.h>
using namespace std;

constexpr int MAX_LICZBA_PUSZEK=1e6+4;
int ilosc_kolorow[MAX_LICZBA_PUSZEK][4];

int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);

    int liczba_puszek,liczba_operacji;
    int i,j,l,r,barwnik,k;
    int suma_puszki;
    int ile_zielonych_farb=0;

    cin>>liczba_puszek>>liczba_operacji;

    for(i=1; i<=liczba_operacji; ++i)
    {
        cin>>l>>r>>barwnik;

        ilosc_kolorow[l][barwnik]++;
        ilosc_kolorow[r+1][barwnik]--;
    }

    for(i=1; i<=liczba_puszek; ++i)
    {
        suma_puszki=0;
        for(j=1; j<=3; ++j)
            ilosc_kolorow[i][j]+=ilosc_kolorow[i-1][j];

        for(k=1; k<=3; ++k)
        {
            if(ilosc_kolorow[i][k] > 0)
                suma_puszki+=k;
        }

        if(suma_puszki==3 && ilosc_kolorow[i][3]==0)
            ile_zielonych_farb++;
    }

    cout<<ile_zielonych_farb;

    return 0;
}