#include <cstdio> using namespace std; #define MAX 1000100 int n,m,t[4][MAX],l,r,k, res; int main() { scanf("%d %d", &n, &m); while(m--) { scanf("%d %d %d", &l, &r, &k); t[k][l]++; t[k][r+1]--; } for(k=1;k<4;k++) for(int i=1;i<=n;i++) t[k][i]+=t[k][i-1]; for(int i=1;i<=n;i++) if(t[1][i] > 0 && t[2][i] > 0 && t[3][i] == 0) res++; printf("%d\n", 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 | #include <cstdio> using namespace std; #define MAX 1000100 int n,m,t[4][MAX],l,r,k, res; int main() { scanf("%d %d", &n, &m); while(m--) { scanf("%d %d %d", &l, &r, &k); t[k][l]++; t[k][r+1]--; } for(k=1;k<4;k++) for(int i=1;i<=n;i++) t[k][i]+=t[k][i-1]; for(int i=1;i<=n;i++) if(t[1][i] > 0 && t[2][i] > 0 && t[3][i] == 0) res++; printf("%d\n", res); } |