#include<cstdio>
#include<vector>
#include<algorithm>
using namespace std;
vector<pair<int, int>> V;
vector<pair<int, int>> W;
int main() {
int n;
scanf("%i", &n);
for (int i = 0; i < n; ++i) {
int r, w, t;
scanf("%i%i%i", &r, &w, &t);
t -= w;
V.push_back(make_pair(t, r));
}
sort(V.begin(), V.end());
int prevT = V[0].first;
int prevR = V[0].second;
int cnt = 0;
for (int i = 0; i < V.size(); ++i) {
if (V[i].first == prevT and V[i].second == prevR) {
cnt++;
} else {
W.push_back(make_pair(prevT, cnt));
cnt = 1;
prevT = V[i].first;
prevR = V[i].second;
}
}
W.push_back(make_pair(prevT, cnt));
int res = 0;
for (int i = 1; i < W.size(); ++i) {
if (W[i-1].first == W[i].first) {
res += min(W[i-1].second, W[i].second);
}
}
printf("%i\n", res);
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 47 48 49 50 | #include<cstdio> #include<vector> #include<algorithm> using namespace std; vector<pair<int, int>> V; vector<pair<int, int>> W; int main() { int n; scanf("%i", &n); for (int i = 0; i < n; ++i) { int r, w, t; scanf("%i%i%i", &r, &w, &t); t -= w; V.push_back(make_pair(t, r)); } sort(V.begin(), V.end()); int prevT = V[0].first; int prevR = V[0].second; int cnt = 0; for (int i = 0; i < V.size(); ++i) { if (V[i].first == prevT and V[i].second == prevR) { cnt++; } else { W.push_back(make_pair(prevT, cnt)); cnt = 1; prevT = V[i].first; prevR = V[i].second; } } W.push_back(make_pair(prevT, cnt)); int res = 0; for (int i = 1; i < W.size(); ++i) { if (W[i-1].first == W[i].first) { res += min(W[i-1].second, W[i].second); } } printf("%i\n", res); return 0; } |
English