Submission #154393

#TimeUsernameProblemLanguageResultExecution timeMemory
154393srvltStar triangles (IZhO11_triangle)C++14
100 / 100
647 ms34516 KiB
//#pragma GCC optimize("Ofast") #include <bits/stdc++.h> #define ll long long #define db long double #define pb push_back #define pf push_front #define ppb pop_back #define ppf pop_front #define fi first #define se second #define mp make_pair #define endl "\n" #define int long long using namespace std; void dout() { cerr << endl; } template <typename Head, typename... Tail> void dout(Head H, Tail... T) { cerr << H << ' '; dout(T...); } mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); typedef pair <int, int> pii; const int N = 3e5 + 3; int n, ans; vector <pii> v; map <pii, int> q; map <int, int> x, y; void solve(int tc) { cin >> n; for (int i = 0; i < n; i++) { pii p; cin >> p.fi >> p.se; v.pb(p); } sort(v.begin(), v.end()); for (int i = 0; i < n; i++) { x[v[i].fi]++; y[v[i].se]++; q[v[i]]++; } for (int i = 0; i < n; i++) { ans += (x[v[i].fi] - q[v[i]]) * (y[v[i].se] - q[v[i]]); } cout << ans; } signed main() { ios_base::sync_with_stdio(false); cin.tie(NULL); // freopen("input.txt", "r", stdin); // freopen("output.txt", "w", stdout); int tc = 1; // cin >> tc; for (int i = 0; i < tc; i++) { solve(i); // cleanup(); } }
#Verdict Execution timeMemoryGrader output
Fetching results...