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