#include<bits/stdc++.h> using namespace std; int pocz[1000010][4]; int kon[1000010][4]; int main() { int czerwony=0, niebieski=0, zolty=0; int n, m, i, p, k, kol, wynik=0; scanf("%d%d", &n, &m); for(i=0;i<m;i++) { scanf("%d%d%d", &p, &k, &kol); pocz[p][kol]++; kon[k][kol]++; } for(i=1;i<=n;i++) { zolty+=pocz[i][1]; zolty-=kon[i-1][1]; niebieski+=pocz[i][2]; niebieski-=kon[i-1][2]; czerwony+=pocz[i][3]; czerwony-=kon[i-1][3]; //printf("%d %d %d\n", zolty, niebieski, czerwony); if(zolty>0 && niebieski>0 && czerwony==0) { wynik++; //printf("%d\n", i); } } printf("%d", 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 | #include<bits/stdc++.h> using namespace std; int pocz[1000010][4]; int kon[1000010][4]; int main() { int czerwony=0, niebieski=0, zolty=0; int n, m, i, p, k, kol, wynik=0; scanf("%d%d", &n, &m); for(i=0;i<m;i++) { scanf("%d%d%d", &p, &k, &kol); pocz[p][kol]++; kon[k][kol]++; } for(i=1;i<=n;i++) { zolty+=pocz[i][1]; zolty-=kon[i-1][1]; niebieski+=pocz[i][2]; niebieski-=kon[i-1][2]; czerwony+=pocz[i][3]; czerwony-=kon[i-1][3]; //printf("%d %d %d\n", zolty, niebieski, czerwony); if(zolty>0 && niebieski>0 && czerwony==0) { wynik++; //printf("%d\n", i); } } printf("%d", wynik); } |