/* -*- coding: utf-8 -*- * * 1679.cc: No.1679 マスゲーム - yukicoder */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; /* constant */ const int MAX_N = 200000; /* typedef */ typedef long long ll; typedef map mii; /* global variables */ mii vs[2]; /* subroutines */ /* main */ int main() { // (bi,t+ti)=(t+tj,bj) -> bi=t+tj,t+ti=bj // -> t = bi-tj = bj-ti -> bi+ti=bj+tj int n; scanf("%d", &n); for (int i = 0; i < n; i++) { int ai, bi, ti; scanf("%d%d%d", &ai, &bi, &ti); vs[ai][bi + ti]++; } mii::iterator mit0 = vs[0].begin(); mii::iterator mit1 = vs[1].begin(); ll sum = 0; while (mit0 != vs[0].end() && mit1 != vs[1].end()) { if (mit0->first < mit1->first) mit0++; else if (mit0->first > mit1->first) mit1++; else { sum += (ll)mit0->second * mit1->second; mit0++, mit1++; } } printf("%lld\n", sum); return 0; }