#include <bits/stdc++.h>
using namespace std;
const int N = 1e6 + 7;
int n, m;
int pref[N][3];
int main () {
scanf("%d %d", &n, &m);
for (int i = 1; i <= m; ++i) {
int l, r, k;
scanf("%d %d %d", &l, &r, &k);
pref[l][k - 1]++;
pref[r + 1][k - 1]--;
}
int ans = 0;
for (int i = 1; i <= n; ++i) {
for (int t = 0; t < 3; ++t)
pref[i][t] += pref[i - 1][t];
if (pref[i][0] > 0 && pref[i][1] > 0 && pref[i][2] == 0)
++ans;
}
printf("%d\n", ans);
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 | #include <bits/stdc++.h> using namespace std; const int N = 1e6 + 7; int n, m; int pref[N][3]; int main () { scanf("%d %d", &n, &m); for (int i = 1; i <= m; ++i) { int l, r, k; scanf("%d %d %d", &l, &r, &k); pref[l][k - 1]++; pref[r + 1][k - 1]--; } int ans = 0; for (int i = 1; i <= n; ++i) { for (int t = 0; t < 3; ++t) pref[i][t] += pref[i - 1][t]; if (pref[i][0] > 0 && pref[i][1] > 0 && pref[i][2] == 0) ++ans; } printf("%d\n", ans); return 0; } |
English