//runda 1B
#include <iostream>
using namespace std;
int puszki[3][1000010];
int main() {
ios_base::sync_with_stdio(0);
int n, m, l, r, k;
char zol = 0, nie = 0, cze = 0;
int zolDo = 0, nieDo = 0, czeDo = 0;
int wynik = 0;
cin >> n >> m;
for(int iM = 0; iM < m; ++iM) {
cin >> l >> r >> k;
--k;
if(puszki[k][l] < r)
puszki[k][l] = r;
}
for(int iN = 1; iN <= n; ++iN) {
if(iN > zolDo)
zol = 0;
if(iN > nieDo)
nie = 0;
if(iN > czeDo)
cze = 0;
if(puszki[0][iN] > zolDo) {
zolDo = puszki[0][iN];
zol = 1;
}
if(puszki[1][iN] > nieDo) {
nieDo = puszki[1][iN];
nie = 1;
}
if(puszki[2][iN] > czeDo) {
czeDo = puszki[2][iN];
cze = 1;
}
if(zol && nie && !cze)
++wynik;
}
cout << wynik;
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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | //runda 1B #include <iostream> using namespace std; int puszki[3][1000010]; int main() { ios_base::sync_with_stdio(0); int n, m, l, r, k; char zol = 0, nie = 0, cze = 0; int zolDo = 0, nieDo = 0, czeDo = 0; int wynik = 0; cin >> n >> m; for(int iM = 0; iM < m; ++iM) { cin >> l >> r >> k; --k; if(puszki[k][l] < r) puszki[k][l] = r; } for(int iN = 1; iN <= n; ++iN) { if(iN > zolDo) zol = 0; if(iN > nieDo) nie = 0; if(iN > czeDo) cze = 0; if(puszki[0][iN] > zolDo) { zolDo = puszki[0][iN]; zol = 1; } if(puszki[1][iN] > nieDo) { nieDo = puszki[1][iN]; nie = 1; } if(puszki[2][iN] > czeDo) { czeDo = puszki[2][iN]; cze = 1; } if(zol && nie && !cze) ++wynik; } cout << wynik; return 0; } |
English