제출 #676201

#제출 시각아이디문제언어결과실행 시간메모리
676201Toxtaq별들과 삼각형 (IZhO11_triangle)C++17
0 / 100
2072 ms4196 KiB
#include<bits/stdc++.h>
using namespace std;
int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    int n;
    cin >> n;
    vector<int>x(n), y(n);
    for(int i = 0;i < n;++i){
        cin >> x[i] >> y[i];
    }
    vector<pair<int, int>>pairs(n);
    for(int i = 0;i < n;++i){
        pairs[i] = {x[i], i};
    }
    sort(pairs.begin(), pairs.end());
    int nxt = 0;
    for(int i = 0;i < n;++i){
        if(i > 0 && pairs[i - 1].first != pairs[i].first)nxt++;
        x[pairs[i].second] = nxt;
    }
    for(int i = 0;i < n;++i){
        pairs[i] = {y[i], i};
    }
    sort(pairs.begin(), pairs.end());
    nxt = 0;
    for(int i = 0;i < n;++i){
        if(i > 0 && pairs[i - 1].first != pairs[i].first)nxt++;
        y[pairs[i].second] = nxt;
    }
    vector<int>X(300001), Y(300001);
    for(int i = 0;i < n;++i){
        X[x[i]]++;
        Y[y[i]]++;
    }
    int result = 0;
    for(int i = 0;i < n;++i){
        if(Y[y[i]] < 2)continue;
        Y[y[i]]--;
        for(int j = i + 1;j < n;++j){
            if(y[i] == y[j])result += X[x[i]] + X[x[j]] - 2;
        }
    }
    cout << result;
}
#Verdict Execution timeMemoryGrader output
Fetching results...