#include <bits/stdc++.h> using namespace std; const int N_MAX = 1e6+123; int n, m; int l, r, t; int wynik; int zolty[N_MAX]; int niebieski[N_MAX]; int czerwony[N_MAX]; int main() { ios_base::sync_with_stdio(0); cin >> n >> m; for(int i = 1; i <= m; i++) { cin >> l >> r >> t; if(t == 1) // zolty { zolty[l]++; zolty[r + 1]--; } else if (t == 2) // niebieski { niebieski[l]++; niebieski[r + 1]--; } else if (t == 3) // czerwony { czerwony[l]++; czerwony[r + 1]--; } } for(int i = 1; i <= n; i++) { zolty[i] += zolty[i-1]; niebieski[i] += niebieski[i-1]; czerwony[i] += czerwony[i-1]; } for(int i = 1; i <= n; i++) { if(zolty[i] >= 1 && niebieski[i] >= 1 && czerwony[i] == 0) wynik++; } 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 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 | #include <bits/stdc++.h> using namespace std; const int N_MAX = 1e6+123; int n, m; int l, r, t; int wynik; int zolty[N_MAX]; int niebieski[N_MAX]; int czerwony[N_MAX]; int main() { ios_base::sync_with_stdio(0); cin >> n >> m; for(int i = 1; i <= m; i++) { cin >> l >> r >> t; if(t == 1) // zolty { zolty[l]++; zolty[r + 1]--; } else if (t == 2) // niebieski { niebieski[l]++; niebieski[r + 1]--; } else if (t == 3) // czerwony { czerwony[l]++; czerwony[r + 1]--; } } for(int i = 1; i <= n; i++) { zolty[i] += zolty[i-1]; niebieski[i] += niebieski[i-1]; czerwony[i] += czerwony[i-1]; } for(int i = 1; i <= n; i++) { if(zolty[i] >= 1 && niebieski[i] >= 1 && czerwony[i] == 0) wynik++; } cout << wynik << '\n'; return 0; } |