1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
#include <bits/stdc++.h>

int main(){
    std::map<int,int>m[2];
    int n,r,a,b,w=0;
    std::cin >> n;
    for(int i=0;i<n;i++){
        std::cin >> r >> a >> b;
        m[r&1][a-b]=(m[r&1].find(a-b)!=m[1-(r&1)].end())*m[r&1][a-b]+1;
    }
    for(std::map<int,int>::const_iterator i=m[0].begin();i!=m[0].end();++i)if(m[1].find(i->first)!=m[1].end())w+=std::min(m[1][i->first],i->second);
    std::cout << w << "\n";
}