Submission #18411

#TimeUsernameProblemLanguageResultExecution timeMemory
18411kdh9949Star triangles (IZhO11_triangle)C++98
100 / 100
291 ms8116 KiB
#include <cstdio> #include <algorithm> using namespace std; typedef long long ll; struct Point{ int x, y; }p[300010]; int n, x[300010], y[300010], xsum[300010], ysum[300010]; ll ans; int main(){ scanf("%d", &n); for(int i = 0; i < n; i++){ scanf("%d%d", x + i, y + i); p[i] = {x[i], y[i]}; } sort(x, x + n); sort(y, y + n); for(int i = 0; i < n; i++){ p[i] = {(int)(lower_bound(x, x + n, p[i].x) - x), (int)(lower_bound(y, y + n, p[i].y) - y)}; xsum[p[i].x]++; ysum[p[i].y]++; } for(int i = 0; i < n; i++){ ans += (ll)(xsum[p[i].x] - 1) * (ll)(ysum[p[i].y] - 1); } printf("%lld", ans); }
#Verdict Execution timeMemoryGrader output
Fetching results...