#include <bits/stdc++.h> using namespace std; const int maxn = (int) 1e6; int maxi[4][maxn + 5]; bool czy[4][maxn + 5]; int main(){ ios_base::sync_with_stdio(0);cin.tie(0); int n,m; cin >> n >> m; while(m--){ int l,r,k; cin >> l >> r >> k; maxi[k][l] = max(maxi[k][l],r); } for(int i = 1; i <= 3; i++){ int kon = 0; for(int j = 1; j <= n; j++){ kon = max(kon,maxi[i][j]); if(kon >= j) czy[i][j] = 1; } } int ans = 0; for(int i = 1; i <= n; i++) if((czy[1][i] && czy[2][i]) && (czy[3][i] == 0)) ans++; cout << 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 | #include <bits/stdc++.h> using namespace std; const int maxn = (int) 1e6; int maxi[4][maxn + 5]; bool czy[4][maxn + 5]; int main(){ ios_base::sync_with_stdio(0);cin.tie(0); int n,m; cin >> n >> m; while(m--){ int l,r,k; cin >> l >> r >> k; maxi[k][l] = max(maxi[k][l],r); } for(int i = 1; i <= 3; i++){ int kon = 0; for(int j = 1; j <= n; j++){ kon = max(kon,maxi[i][j]); if(kon >= j) czy[i][j] = 1; } } int ans = 0; for(int i = 1; i <= n; i++) if((czy[1][i] && czy[2][i]) && (czy[3][i] == 0)) ans++; cout << ans; return 0; } |