#include <cstdio>
#include <unordered_map>
const int C = 1000005;
using namespace std;
int main() {
int n; scanf("%d", &n);
unordered_map<int, int> m1, m2;
for (int i=0; i<n; ++i) {
int r, w, t; scanf("%d %d %d", &r, &w, &t);
if (r == 1) {
m1[w-t]++;
} else {
m2[w-t]++;
}
}
int result = 0;
for (auto e1 : m1) {
auto e2 = m2.find(e1.first);
if (e2 == m2.end()) continue;
result += min(e1.second, e2->second);
}
printf("%d\n", result);
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 | #include <cstdio> #include <unordered_map> const int C = 1000005; using namespace std; int main() { int n; scanf("%d", &n); unordered_map<int, int> m1, m2; for (int i=0; i<n; ++i) { int r, w, t; scanf("%d %d %d", &r, &w, &t); if (r == 1) { m1[w-t]++; } else { m2[w-t]++; } } int result = 0; for (auto e1 : m1) { auto e2 = m2.find(e1.first); if (e2 == m2.end()) continue; result += min(e1.second, e2->second); } printf("%d\n", result); return 0; } |
English