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

using namespace std;
int main()
{
    int n=0,m=0; //n-puszki m-operacje
    cin>>n >>m;
    string tab[n];
    for(int i=0;i<n;i++)
    {tab[i]="";}
    for(int i=0;i<m;i++)
    {
        int l=0,r=0,k=0,bufor=0;
        cin>>l;
        cin>>r;
        cin>>k;
        //ew podmianka jezeli zle wpisane dane
        for(int j=(l-1);j<r;j++)
        {
            if(k==1)
            {tab[j]=tab[j]+"zolty";}
            if(k==2)
            {tab[j]=tab[j]+"niebieski";}
            if(k==3)
            {tab[j]=tab[j]+"czerwony";}
        }
        for(int x=0;x<n;x++)
        {
            if(tab[x]=="zoltyniebieski"||tab[x]=="niebieskizolty"||tab[x]=="zoltyzielony"||tab[x]=="zielonyzolty"||tab[x]=="niebieskizielony"||tab[x]=="zielonyniebieski")
                tab[x]="zielony";
            if(tab[x]=="zoltyczerwony"||tab[x]=="czerwonyzolty"||tab[x]=="zoltypomaranczowy"||tab[x]=="pomaranczowyzolty"||tab[x]=="czerwonypomaranczowy"||tab[x]=="pomaranczowyczerwony")
                tab[x]="pomaranczowy";
            if(tab[x]=="niebieskiczerwony"||tab[x]=="czerwonyniebieski"||tab[x]=="niebieskifioletowy"||tab[x]=="fioletowyniebieski"||tab[x]=="czerwonyfioletowy"||tab[x]=="fioletowyczerwony")
                tab[x]="fioletowy";
            if(tab[x]=="zielonyczerwony"||tab[x]=="czerwonyzielony"||tab[x]=="pomaranczowyniebieski"||tab[x]=="niebieskipomaranczowy"||tab[x]=="fioletowyzolty"||tab[x]=="zoltyfioletowy")
                tab[x]="brazowy";
        }
    }
    int wynik=0;
     for(int x=0;x<n;x++)
        {
            if(tab[x]=="zielony")
                wynik++;
        }
    if(m==0)
    {
        cout << "0";
        return 0;
    }
    cout <<wynik;
    return 0;
}