#include <bits/stdc++.h> using namespace std; const int N = 1000 * 1000 + 7; int r[N], y[N], b[N]; void Licz(int n) { int il, i; il = 0; for(i = 1; i <= n; ++i) { il += r[i]; r[i] = il; } il = 0; for(i = 1; i <= n; ++i) { il += b[i]; b[i] = il; } il = 0; for(i = 1; i <= n; ++i) { il += y[i]; y[i] = il; } } void Wyn(int n) { int w, i; w = 0; for(i = 1; i <= n; ++i) { //cout << y[i] << " " << b[i] << " " << r[i] << "\n"; if(r[i] < 1 && y[i] >= 1 && b[i] >= 1) ++w; } cout << w << "\n"; } void Wczytaj(int &n) { int m, i, p, k, x; cin >> n >> m; for(i = 1; i <= m; ++i) { cin >> p >> k >> x; if(x == 1) { ++y[p]; --y[k + 1]; } if(x == 2) { ++b[p]; --b[k + 1]; } if(x == 3) { ++r[p]; --r[k + 1]; } } } void Kolory() { int n; Wczytaj(n); Licz(n); Wyn(n); } int main () { ios_base::sync_with_stdio(false); cin.tie(nullptr); Kolory(); 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 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 | #include <bits/stdc++.h> using namespace std; const int N = 1000 * 1000 + 7; int r[N], y[N], b[N]; void Licz(int n) { int il, i; il = 0; for(i = 1; i <= n; ++i) { il += r[i]; r[i] = il; } il = 0; for(i = 1; i <= n; ++i) { il += b[i]; b[i] = il; } il = 0; for(i = 1; i <= n; ++i) { il += y[i]; y[i] = il; } } void Wyn(int n) { int w, i; w = 0; for(i = 1; i <= n; ++i) { //cout << y[i] << " " << b[i] << " " << r[i] << "\n"; if(r[i] < 1 && y[i] >= 1 && b[i] >= 1) ++w; } cout << w << "\n"; } void Wczytaj(int &n) { int m, i, p, k, x; cin >> n >> m; for(i = 1; i <= m; ++i) { cin >> p >> k >> x; if(x == 1) { ++y[p]; --y[k + 1]; } if(x == 2) { ++b[p]; --b[k + 1]; } if(x == 3) { ++r[p]; --r[k + 1]; } } } void Kolory() { int n; Wczytaj(n); Licz(n); Wyn(n); } int main () { ios_base::sync_with_stdio(false); cin.tie(nullptr); Kolory(); return 0; } |