#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; } |
English