#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(0);
int puszki, t;
cin >> puszki >> t;
vector <pair <int, int> > yellow (puszki + 1, {0, 0});
vector <pair <int, int> > blue (puszki + 1, {0, 0});
vector <pair <int, int> > red (puszki + 1, {0, 0});
int L, R, k;
while (t--) {
cin >> L >> R >> k;
if (k == 1) {
yellow[L].first++;
yellow[R].second++;
}
else if (k == 2) {
blue[L].first++;
blue[R].second++;
}
else {
red[L].first++;
red[R].second++;
}
}
int activeY = 0, activeB = 0, activeR = 0;
int licz = 0;
for (int i = 1; i <= puszki; i++) {
activeY += yellow[i].first;
activeB += blue[i].first;
activeR += red[i].first;
if (activeY && activeB && !activeR)
licz++;
activeY -= yellow[i].second;
activeB -= blue[i].second;
activeR -= red[i].second;
}
cout << licz;
}
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 | #include <bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(0); int puszki, t; cin >> puszki >> t; vector <pair <int, int> > yellow (puszki + 1, {0, 0}); vector <pair <int, int> > blue (puszki + 1, {0, 0}); vector <pair <int, int> > red (puszki + 1, {0, 0}); int L, R, k; while (t--) { cin >> L >> R >> k; if (k == 1) { yellow[L].first++; yellow[R].second++; } else if (k == 2) { blue[L].first++; blue[R].second++; } else { red[L].first++; red[R].second++; } } int activeY = 0, activeB = 0, activeR = 0; int licz = 0; for (int i = 1; i <= puszki; i++) { activeY += yellow[i].first; activeB += blue[i].first; activeR += red[i].first; if (activeY && activeB && !activeR) licz++; activeY -= yellow[i].second; activeB -= blue[i].second; activeR -= red[i].second; } cout << licz; } |
English