//runda 1B #include <iostream> using namespace std; int puszki[3][1000010]; int main() { ios_base::sync_with_stdio(0); int n, m, l, r, k; char zol = 0, nie = 0, cze = 0; int zolDo = 0, nieDo = 0, czeDo = 0; int wynik = 0; cin >> n >> m; for(int iM = 0; iM < m; ++iM) { cin >> l >> r >> k; --k; if(puszki[k][l] < r) puszki[k][l] = r; } for(int iN = 1; iN <= n; ++iN) { if(iN > zolDo) zol = 0; if(iN > nieDo) nie = 0; if(iN > czeDo) cze = 0; if(puszki[0][iN] > zolDo) { zolDo = puszki[0][iN]; zol = 1; } if(puszki[1][iN] > nieDo) { nieDo = puszki[1][iN]; nie = 1; } if(puszki[2][iN] > czeDo) { czeDo = puszki[2][iN]; cze = 1; } if(zol && nie && !cze) ++wynik; } cout << wynik; 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 | //runda 1B #include <iostream> using namespace std; int puszki[3][1000010]; int main() { ios_base::sync_with_stdio(0); int n, m, l, r, k; char zol = 0, nie = 0, cze = 0; int zolDo = 0, nieDo = 0, czeDo = 0; int wynik = 0; cin >> n >> m; for(int iM = 0; iM < m; ++iM) { cin >> l >> r >> k; --k; if(puszki[k][l] < r) puszki[k][l] = r; } for(int iN = 1; iN <= n; ++iN) { if(iN > zolDo) zol = 0; if(iN > nieDo) nie = 0; if(iN > czeDo) cze = 0; if(puszki[0][iN] > zolDo) { zolDo = puszki[0][iN]; zol = 1; } if(puszki[1][iN] > nieDo) { nieDo = puszki[1][iN]; nie = 1; } if(puszki[2][iN] > czeDo) { czeDo = puszki[2][iN]; cze = 1; } if(zol && nie && !cze) ++wynik; } cout << wynik; return 0; } |