#include <bits/stdc++.h> using namespace std; int N, M; int a[6][1000003]; //a[0][i] - zoltePocz, a[1][i] - niebieskiePocz, a[2][i] - czerwonePocz //a[3][i] - zolteKon, a[4][i] - niebieskieKon, a[5][i] - czerwoneKon int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cin >> N >> M; for(int i = 0, l, r, k; i < M; i++){ cin >> l >> r >> k; a[k - 1][l]++; a[k + 2][r]++; } /*for(int i = 1; i <= N; i++) cout << i % 10 << ' '; cout << endl; for(int i = 1; i <= N; i++) cout << a[0][i] << ' '; cout << endl; for(int i = 1; i <= N; i++) cout << a[3][i] << ' '; cout << endl; for(int i = 1; i <= N; i++) cout << a[1][i] << ' '; cout << endl; for(int i = 1; i <= N; i++) cout << a[4][i] << ' '; cout << endl; for(int i = 1; i <= N; i++) cout << a[2][i] << ' '; cout << endl; for(int i = 1; i <= N; i++) cout << a[5][i] << ' '; cout << endl; cout << endl;*/ int zo = 0, ni = 0, cz = 0, wynik = 0; for(int i = 1; i <= N; i++){ //a[0][i] - zoltePocz, a[1][i] - niebieskiePocz, a[2][i] - czerwonePocz //a[3][i] - zolteKon, a[4][i] - niebieskieKon, a[5][i] - czerwoneKon zo += a[0][i]; ni += a[1][i]; cz += a[2][i]; if(zo > 0 && ni > 0 && cz <= 0) wynik++; //cout << zo << ' ' << ni << ' ' << cz << '\n'; zo -= a[3][i]; ni -= a[4][i]; cz -= a[5][i]; } 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 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | #include <bits/stdc++.h> using namespace std; int N, M; int a[6][1000003]; //a[0][i] - zoltePocz, a[1][i] - niebieskiePocz, a[2][i] - czerwonePocz //a[3][i] - zolteKon, a[4][i] - niebieskieKon, a[5][i] - czerwoneKon int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cin >> N >> M; for(int i = 0, l, r, k; i < M; i++){ cin >> l >> r >> k; a[k - 1][l]++; a[k + 2][r]++; } /*for(int i = 1; i <= N; i++) cout << i % 10 << ' '; cout << endl; for(int i = 1; i <= N; i++) cout << a[0][i] << ' '; cout << endl; for(int i = 1; i <= N; i++) cout << a[3][i] << ' '; cout << endl; for(int i = 1; i <= N; i++) cout << a[1][i] << ' '; cout << endl; for(int i = 1; i <= N; i++) cout << a[4][i] << ' '; cout << endl; for(int i = 1; i <= N; i++) cout << a[2][i] << ' '; cout << endl; for(int i = 1; i <= N; i++) cout << a[5][i] << ' '; cout << endl; cout << endl;*/ int zo = 0, ni = 0, cz = 0, wynik = 0; for(int i = 1; i <= N; i++){ //a[0][i] - zoltePocz, a[1][i] - niebieskiePocz, a[2][i] - czerwonePocz //a[3][i] - zolteKon, a[4][i] - niebieskieKon, a[5][i] - czerwoneKon zo += a[0][i]; ni += a[1][i]; cz += a[2][i]; if(zo > 0 && ni > 0 && cz <= 0) wynik++; //cout << zo << ' ' << ni << ' ' << cz << '\n'; zo -= a[3][i]; ni -= a[4][i]; cz -= a[5][i]; } cout << wynik << '\n'; return 0; } |