#include <bits/stdc++.h>
using namespace std;
#define ll long long
int main() {
ios::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<int> all;
all.reserve(2 * n);
for (int u : x) all.push_back(u);
for (int u : y) all.push_back(u);
sort(all.begin(), all.end());
all.erase(unique(all.begin(), all.end()), all.end());
for (int& u : x) u = lower_bound(all.begin(), all.end(), u) - all.begin();
for (int& u : y) u = lower_bound(all.begin(), all.end(), u) - all.begin();
map<int, int> Xs, Ys;
map<pair<int, int>, int> freq;
for (int i = 0; i < n; i++) {
Xs[x[i]] += 1;
Ys[y[i]] += 1;
freq[make_pair(x[i], y[i])] += 1;
}
ll ans = 0;
for (int i = 0; i < n; i++) {
int freq_me = freq[make_pair(x[i], y[i])];
ans += (Xs[x[i]] - freq_me) * 1LL * (Ys[y[i]] - freq_me);
}
cout << ans << "\n";
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |