제출 #207026

#제출 시각아이디문제언어결과실행 시간메모리
207026pavement별들과 삼각형 (IZhO11_triangle)C++17
0 / 100
5 ms376 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long

int N, C, X[300005], Y[300005];
map<int, vector<int> > XC, YC;

main() {
	cin >> N;
	for (int i = 1; i <= N; i++) {
		cin >> X[i] >> Y[i];
		XC[X[i]].push_back(Y[i]);
		YC[Y[i]].push_back(X[i]);
	}
	for (int i = 1; i <= N; i++) {
		auto it = upper_bound(YC[Y[i]].begin(), YC[Y[i]].end(), X[i]), it2 = upper_bound(XC[X[i]].begin(), XC[X[i]].end(), Y[i]);
		C += (YC[Y[i]].size() - (it - YC[Y[i]].begin())) * (XC[X[i]].size() - (it2 - XC[X[i]].begin()));
	}
	for (int i = 1; i <= N; i++) {
		auto it = upper_bound(YC[Y[i]].begin(), YC[Y[i]].end(), X[i]), it2 = lower_bound(XC[X[i]].begin(), XC[X[i]].end(), Y[i]);
		C += (YC[Y[i]].size() - (it - YC[Y[i]].begin())) * (it2 - XC[X[i]].begin());
	}
	for (int i = 1; i <= N; i++) {
		auto it = lower_bound(YC[Y[i]].begin(), YC[Y[i]].end(), X[i]), it2 = upper_bound(XC[X[i]].begin(), XC[X[i]].end(), Y[i]);
		C += (it - YC[Y[i]].begin()) * (XC[X[i]].size() - (it2 - XC[X[i]].begin()));
	}
	for (int i = 1; i <= N; i++) {
		auto it = lower_bound(YC[Y[i]].begin(), YC[Y[i]].end(), X[i]), it2 = lower_bound(XC[X[i]].begin(), XC[X[i]].end(), Y[i]);
		C += (it - YC[Y[i]].begin()) * (it2 - XC[X[i]].begin());
	}
	cout << C << '\n';
}

컴파일 시 표준 에러 (stderr) 메시지

triangle.cpp:8:6: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
 main() {
      ^
#Verdict Execution timeMemoryGrader output
Fetching results...