Submission #426141

# Submission time Handle Problem Language Result Execution time Memory
426141 2021-06-13T14:38:48 Z SuckTinHock Star triangles (IZhO11_triangle) C++17
0 / 100
332 ms 27912 KB
#include <bits/stdc++.h>
#define int long long
#define x first
#define y second

using namespace std;
typedef pair<int,int> Point;
Point P[300005];
int n;
int cntx[300005], cnty[300005];

void compress()
{
    vector<int> A;
    for (int i = 1; i <= n; ++i)
    {
        A.push_back(P[i].x);
        A.push_back(P[i].y);
    }
    sort(A.begin(),A.end());
    unique(A.begin(),A.end());
    for (int i = 1; i <= n; ++i)
    {
        P[i].x = lower_bound(A.begin(),A.end(),P[i].x) - A.begin();
        P[i].y = lower_bound(A.begin(),A.end(),P[i].y) - A.begin();
    }
}

void xuly()
{
    int res = 0;
    compress();
    sort(P+1,P+n+1);
    vector<pair<Point,int> > PP;
    for (int i = 1; i <= n; ++i)
    {
        PP.push_back({P[i],1});
        while (i+1 <= n && P[i] == P[i+1]) ++PP.back().y, ++i;
        cntx[P[i].x] += PP.back().y;
        cnty[P[i].y] += PP.back().y;
    }
    for (pair<Point,int> T : PP)
    {
        Point X = T.x;
        int cnt = T.y;
        res += (cntx[X.x] - cnt) * (cnty[X.y] - cnt) * cnt;
    }
    cout << res;
}

void nhap()
{
    cin >> n;
    for (int i = 1; i <= n; ++i) cin >> P[i].x >> P[i].y;
}

signed main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);cout.tie(0);
    nhap();
    xuly();
    return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 332 KB Output is correct
2 Correct 1 ms 332 KB Output is correct
3 Correct 1 ms 332 KB Output is correct
4 Correct 1 ms 332 KB Output is correct
5 Correct 1 ms 332 KB Output is correct
6 Correct 1 ms 332 KB Output is correct
7 Correct 1 ms 332 KB Output is correct
8 Correct 1 ms 332 KB Output is correct
9 Correct 1 ms 332 KB Output is correct
10 Correct 1 ms 332 KB Output is correct
11 Correct 1 ms 332 KB Output is correct
12 Correct 7 ms 1272 KB Output is correct
13 Correct 7 ms 1288 KB Output is correct
14 Correct 8 ms 1268 KB Output is correct
15 Correct 98 ms 9740 KB Output is correct
16 Correct 99 ms 10384 KB Output is correct
17 Correct 96 ms 9716 KB Output is correct
18 Correct 91 ms 9708 KB Output is correct
19 Incorrect 332 ms 27912 KB Output isn't correct
20 Halted 0 ms 0 KB -