#include<bits/stdc++.h> using namespace std; #define rep(a, b) for(int a = 0; a < (b); ++a) const int LIM=1e6+7; int T[LIM][3], l[3]; int main() { ios_base::sync_with_stdio(0); cin.tie(0); int n, m; cin >> n >> m; rep(i, 3) T[0][i]=-1; while(m--) { int a, b, k; cin >> a >> b >> k; --a; --b; --k; T[a][k]=max(T[a][k], b); } int ans=0; rep(i, 3) l[i]=T[0][i]; rep(i, n) { rep(j, 3) l[j]=max(l[j], T[i][j]); if(l[0]>=i && l[1]>=i && l[2]<i) ++ans; } cout << ans << '\n'; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | #include<bits/stdc++.h> using namespace std; #define rep(a, b) for(int a = 0; a < (b); ++a) const int LIM=1e6+7; int T[LIM][3], l[3]; int main() { ios_base::sync_with_stdio(0); cin.tie(0); int n, m; cin >> n >> m; rep(i, 3) T[0][i]=-1; while(m--) { int a, b, k; cin >> a >> b >> k; --a; --b; --k; T[a][k]=max(T[a][k], b); } int ans=0; rep(i, 3) l[i]=T[0][i]; rep(i, n) { rep(j, 3) l[j]=max(l[j], T[i][j]); if(l[0]>=i && l[1]>=i && l[2]<i) ++ans; } cout << ans << '\n'; } |