#include <bits/stdc++.h> #define FOR(i, a, b) for(int i = a; i<b; ++i) #define FR(a, b) for(int i = a; i>=b;--i) #define _upgrade cin.tie(0); ios_base::sync_with_stdio(0) #define pb push_back #define mp make_pair #define INF 1e9 using namespace std; typedef long long ll; typedef double db; typedef unsigned long long ull; typedef pair<int, int> iPair; const int MAX = 1e6 + 2; const int M = 1e9 +7; int n, m, p1[MAX], p2[MAX], p3[MAX], s1, s2, s3; int main() { _upgrade; cin>>n>>m; while(m--) { int l, r, k; cin>>l>>r>>k; if(k == 1) { p1[r+1] -= 1; p1[l] += 1; } else if(k == 2) { p2[r+1] -= 1; p2[l] += 1; } else { p3[r+1] -= 1; p3[l] += 1; } } FOR(i, 1, n+1) { s1 += p1[i]; s2 += p2[i]; s3 += p3[i]; p1[i] = min(1, s1); p2[i] = min(1, s2); p3[i] = min(1, s3); } // FOR(i, 1, n+1) // cout<<p1[i]<<" "; // cout<<"\n"; // FOR(i, 1, n+1) // cout<<p2[i]<<" "; // cout<<"\n"; // FOR(i, 1, n+1) // cout<<p3[i]<<" "; // cout<<"\n"; int res = 0; FOR(i, 1, n+1) if(p1[i] && p2[i] && !p3[i]) res++; cout<<res; }
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 | #include <bits/stdc++.h> #define FOR(i, a, b) for(int i = a; i<b; ++i) #define FR(a, b) for(int i = a; i>=b;--i) #define _upgrade cin.tie(0); ios_base::sync_with_stdio(0) #define pb push_back #define mp make_pair #define INF 1e9 using namespace std; typedef long long ll; typedef double db; typedef unsigned long long ull; typedef pair<int, int> iPair; const int MAX = 1e6 + 2; const int M = 1e9 +7; int n, m, p1[MAX], p2[MAX], p3[MAX], s1, s2, s3; int main() { _upgrade; cin>>n>>m; while(m--) { int l, r, k; cin>>l>>r>>k; if(k == 1) { p1[r+1] -= 1; p1[l] += 1; } else if(k == 2) { p2[r+1] -= 1; p2[l] += 1; } else { p3[r+1] -= 1; p3[l] += 1; } } FOR(i, 1, n+1) { s1 += p1[i]; s2 += p2[i]; s3 += p3[i]; p1[i] = min(1, s1); p2[i] = min(1, s2); p3[i] = min(1, s3); } // FOR(i, 1, n+1) // cout<<p1[i]<<" "; // cout<<"\n"; // FOR(i, 1, n+1) // cout<<p2[i]<<" "; // cout<<"\n"; // FOR(i, 1, n+1) // cout<<p3[i]<<" "; // cout<<"\n"; int res = 0; FOR(i, 1, n+1) if(p1[i] && p2[i] && !p3[i]) res++; cout<<res; } |