Submission #318733

#TimeUsernameProblemLanguageResultExecution timeMemory
318733TemmieStar triangles (IZhO11_triangle)C++17
100 / 100
541 ms11620 KiB
#include <bits/stdc++.h>

typedef long long ll;

struct P {
	ll x, y;
	void read(std::map <ll, ll>& mx, std::map <ll, ll>& my) {
		std::cin >> x >> y;
		bool existX = mx.find(x) == mx.end(), existY = my.find(y) == my.end();
		mx[x]++, my[y]++;
		mx[x] -= existX, my[y] -= existY;
	}
};

int main() {
	std::ios::sync_with_stdio(0); std::cin.tie(0);
	
	int n; std::cin >> n;
	ll ans = 0;
	std::map <ll, ll> mx, my;
	std::vector <P> a(n);
	for (auto& p : a) p.read(mx, my);
	while (n--) ans += mx[a[n].x] * my[a[n].y];
	std::cout << ans << "\n";
	//std::cout.flush(); std::cin >> n;
	
}
#Verdict Execution timeMemoryGrader output
Fetching results...