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
#include <bits/stdc++.h>
using namespace std;
int main() {
    std::ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    int n;
    cin >> n;
    map <int, int> s1, s2;
    for(int i = 0; i < n; i ++) {
        int a, b, c;
        cin >> a >> b >> c;
        if(a == 1) {
            if(s1.find(b - c) == s1.end()) s1[b - c] = 1;
            else s1[b - c] ++;
        }
        else {
            if(s2.find(b - c) == s2.end()) s2[b - c] = 1;
            else s2[b - c] ++;
        }
    }
    int wynik = 0;
    for(auto i : s1) {
        if(s2.find(i.first) == s2.end()) {
            //nic
        }
        else {
            wynik += min(i.second, s2[i.first]);
        }
    }
    cout << wynik;
    return 0;
}