#include <stdio.h>
#include <stdlib.h>
#include <bits/stdc++.h>
using namespace std;
int main() {
int n, m, l, r, k, is_yellow=0, is_blue=0, is_red=0, res=0;
scanf("%d %d", &n, &m);
int *yellow = new int[n+1]();
int *blue = new int[n+1]();
int *red = new int[n+1]();
int *buckets[3] = { yellow, blue, red };
for(int i=0; i<m; i++) {
scanf("%d %d %d", &l, &r, &k);
buckets[k-1][l-1]++;
buckets[k-1][r]--;
}
for(int i=0; i<n; i++) {
is_yellow += buckets[0][i];
is_blue += buckets[1][i];
is_red += buckets[2][i];
if(is_yellow > 0 && is_blue > 0 && is_red <= 0) {
res++;
}
}
printf("%d", res);
delete [] yellow;
delete [] blue;
delete [] red;
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 | #include <stdio.h> #include <stdlib.h> #include <bits/stdc++.h> using namespace std; int main() { int n, m, l, r, k, is_yellow=0, is_blue=0, is_red=0, res=0; scanf("%d %d", &n, &m); int *yellow = new int[n+1](); int *blue = new int[n+1](); int *red = new int[n+1](); int *buckets[3] = { yellow, blue, red }; for(int i=0; i<m; i++) { scanf("%d %d %d", &l, &r, &k); buckets[k-1][l-1]++; buckets[k-1][r]--; } for(int i=0; i<n; i++) { is_yellow += buckets[0][i]; is_blue += buckets[1][i]; is_red += buckets[2][i]; if(is_yellow > 0 && is_blue > 0 && is_red <= 0) { res++; } } printf("%d", res); delete [] yellow; delete [] blue; delete [] red; return 0; } |
English