Submission #687495

#TimeUsernameProblemLanguageResultExecution timeMemory
687495speedyArdaStar triangles (IZhO11_triangle)C++14
100 / 100
797 ms18464 KiB
#include "bits/stdc++.h"

using namespace std;
// Even though the previous solution is correct (https://oj.uz/submission/687487), We might need to hold our coordinates inside of a set rather than an array because there might be stars who have same coordinates.
map<int, long long> x_cnt;
map<int, long long> y_cnt;
int main() 
{
    int n;
    cin >> n;

    set< pair<int, int> > coords;
    for(int i = 0; i < n; i++) {
        pair<int, int> star;
        cin >> star.first >> star.second;
        x_cnt[star.first]++;
        y_cnt[star.second]++;
        coords.insert(star);
    }
    //sort(coords, coords + n);
    long long ans = 0;

    for(pair<int, int> star : coords)
    {
        ans += (x_cnt[star.first] - 1) * (y_cnt[star.second] - 1);
    }

    cout << ans << "\n";

    
}
#Verdict Execution timeMemoryGrader output
Fetching results...