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