#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;
}
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; } |
English