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
48
49
50
#include <iostream>

using namespace std;

struct puszka{
    bool red = false;
    bool blue = false;
    bool yellow = false;
};

int main(){
    unsigned long int iloscsPuszek, operacje;
    cin>>iloscsPuszek>>operacje;
    puszka * arr = new puszka[iloscsPuszek];

    for (int i = 0; i < operacje; i++)
    {
        int left, right, color;
        cin>>left>>right>>color;
        for (int j = left; j <=right; j++)
        {
            switch (color)
            {
            case 1:
                arr[j-1].yellow = true;
                break;
            
            case 2:
                arr[j-1].blue = true;
                break;

            case 3:
                arr[j-1].red = true;
                break;
            default:
                break;
            }
        }
        
    }
    int counter = 0;
    for (int i = 0; i < iloscsPuszek; i++)
    {
        if (arr[i].yellow && arr[i].blue && !arr[i].red){
            counter++;
        }
    }
    cout<<counter;
    
}