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
#include <iostream>
#include <map>
using namespace std;

map<long long ,long long> mapa[2];

int main() {
	// your code goes here
	long long n=0;
	scanf("%lld\n",&n);
	while(n--)
	{
		long long r,w,t;
		scanf("%d%lld%lld",&r,&w,&t);
		mapa[r-1][w-t]++;
	}
	long long w=0;
	for(auto it=mapa[0].begin();it!=mapa[0].end();it++)
	{
		long long l1=it->second;
		long long l2=mapa[1][it->first];
		if(l2!=0)w+=min(l1,l2);
	}
	printf("%lld\n",w);
	return 0;
}