#include <bits/stdc++.h> using namespace std; long int puszki[10000009][3]; int main() { long int i_pusz, i_dodat, od, do_p, kol, wynik; wynik = 0; cin >> i_pusz >> i_dodat; for (long int x = 0; x < i_dodat; x++){ cin >> od >> do_p >> kol; puszki[od][kol-1] += 1; puszki[do_p + 1][kol-1] -= 1; } for (long int x = 0; x < i_pusz; x++){ for (long int y = 0; y < 3; y++){ puszki[x+1][y] += puszki[x][y]; } if ((puszki[x][0] > 0) and (puszki[x][1] > 0) and (puszki[x][2] == 0)){ wynik += 1; } } cout << wynik << "\n"; 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 | #include <bits/stdc++.h> using namespace std; long int puszki[10000009][3]; int main() { long int i_pusz, i_dodat, od, do_p, kol, wynik; wynik = 0; cin >> i_pusz >> i_dodat; for (long int x = 0; x < i_dodat; x++){ cin >> od >> do_p >> kol; puszki[od][kol-1] += 1; puszki[do_p + 1][kol-1] -= 1; } for (long int x = 0; x < i_pusz; x++){ for (long int y = 0; y < 3; y++){ puszki[x+1][y] += puszki[x][y]; } if ((puszki[x][0] > 0) and (puszki[x][1] > 0) and (puszki[x][2] == 0)){ wynik += 1; } } cout << wynik << "\n"; return 0; } |