#include <bits/stdc++.h>
int n, m;
int a, b, k;
int wynik;
int tab[1000003][4];
bool zielony(int x)
{
if(tab[x][1]>0)
if(tab[x][2]>0)
if(tab[x][3]==0)
return true;
return false;
}
int main()
{
scanf("%d%d", &n, &m);
for(int i=1; i<=m; i++)
{
scanf("%d%d%d", &a, &b, &k);
tab[a][k]++;
tab[b+1][k]--;
}
for(int j=1; j<=3; j++)
for(int i=1; i<=n; i++)
tab[i][j]+=tab[i-1][j];
for(int i=1; i<=n; i++)
if(zielony(i))
wynik++;
printf("%d\n", wynik);
}
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 | #include <bits/stdc++.h> int n, m; int a, b, k; int wynik; int tab[1000003][4]; bool zielony(int x) { if(tab[x][1]>0) if(tab[x][2]>0) if(tab[x][3]==0) return true; return false; } int main() { scanf("%d%d", &n, &m); for(int i=1; i<=m; i++) { scanf("%d%d%d", &a, &b, &k); tab[a][k]++; tab[b+1][k]--; } for(int j=1; j<=3; j++) for(int i=1; i<=n; i++) tab[i][j]+=tab[i-1][j]; for(int i=1; i<=n; i++) if(zielony(i)) wynik++; printf("%d\n", wynik); } |
English