#include <bits/stdc++.h> using namespace std; const int N = 1e6 + 123; int n,m; int res; int od,doo,kol; bool zo[N],ni[N],cz[N]; int z[N],f[N],c[N]; int prefz[N],prefn[N],prefc[N]; int main () { ios_base::sync_with_stdio(0); cin >> n >> m; for (int i = 1;i <= m;i++){ cin >> od >> doo >> kol ; if(kol == 1){ z[od]++; z[doo+1]--; } else if (kol == 2) { f[od]++; f[doo+1]--; } else { c[od]++; c[doo+1]--; } } for (int i= 1;i <= n;i++){ prefz[i] = prefz[i-1] + z[i]; prefn[i] = prefn[i-1] + f[i]; prefc[i] = prefc[i-1] + c[i]; } for (int i= 1;i <= n;i++){ if(prefz[i] && prefn[i] && !prefc[i]){ res++; } } cout << res << '\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 | #include <bits/stdc++.h> using namespace std; const int N = 1e6 + 123; int n,m; int res; int od,doo,kol; bool zo[N],ni[N],cz[N]; int z[N],f[N],c[N]; int prefz[N],prefn[N],prefc[N]; int main () { ios_base::sync_with_stdio(0); cin >> n >> m; for (int i = 1;i <= m;i++){ cin >> od >> doo >> kol ; if(kol == 1){ z[od]++; z[doo+1]--; } else if (kol == 2) { f[od]++; f[doo+1]--; } else { c[od]++; c[doo+1]--; } } for (int i= 1;i <= n;i++){ prefz[i] = prefz[i-1] + z[i]; prefn[i] = prefn[i-1] + f[i]; prefc[i] = prefc[i-1] + c[i]; } for (int i= 1;i <= n;i++){ if(prefz[i] && prefn[i] && !prefc[i]){ res++; } } cout << res << '\n'; return 0; } |