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
#include <bits/stdc++.h>

using namespace std;

typedef pair<int,int> II;

int main()
{
    int i, n;

    cin >> n;
    
    map<int,int> m[2];
    
    for (i=0; i<n; i++)
    {
      int r,w,t;
      cin >> r >> w >> t;
      r--;
      
      auto e = m[r].find(t-w);
      if (e == m[r].end())
        m[r].insert(II(t-w,1));
      else
        e->second++;
    }
    
    int res = 0;
    
    for (auto &e : m[0])
    {
      auto f = m[1].find(e.first);
      if (f != m[1].end())
        res += min (e.second, f->second);
    }     

    cout << res << "\n";

    return 0;
}