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