Submission #848280

# Submission time Handle Problem Language Result Execution time Memory
848280 2023-09-12T00:40:12 Z wakandaaa Star triangles (IZhO11_triangle) C++17
100 / 100
238 ms 14412 KB
#include <bits/stdc++.h>

using namespace std;

#define file ""

#define mp make_pair
#define fi first
#define se second
#define all(x) x.begin(), x.end()

#define getbit(x, i) (((x) >> (i)) & 1)
#define bit(x) (1LL << (x))
#define popcount __builtin_popcountll

mt19937_64 rd(chrono::steady_clock::now().time_since_epoch().count());
int rand(int l, int r) {
    return l + rd() % (r - l + 1);
}

const int N = 1e6 + 5;
const int mod = (int)1e9 + 7; // 998244353;
const int lg = 25; // lg + 1
const int oo = 1e9;
const long long ooo = 1e18;

template<class X, class Y> bool mini(X &a, Y b) {
    return a > b ? (a = b, true) : false;
}
template<class X, class Y> bool maxi(X &a, Y b) {
    return a < b ? (a = b, true) : false;
}
void add(int &a, int b) {
    a += b;
    if (a >= mod) a -= mod;
    if (a < 0) a += mod;
}

int n;
vector<int> xa, ya;
vector<pair<int, int> > points;

int main() {
    ios::sync_with_stdio(false);
    cin.tie(0);

    // freopen(file".inp", "r",stdin);
    // freopen(file".out", "w",stdout);

    cin >> n;
    for (int i = 0; i < n; ++i) {
    	int x, y;
    	cin >> x >> y;
    	xa.push_back(x);
    	ya.push_back(y);
    	points.emplace_back(x, y);
    }
    sort(all(xa));
    sort(all(ya));
    long long res = 0;
    for (auto [x, y] : points) {
    	int p = upper_bound(all(xa), x) - lower_bound(all(xa), x) - 1;
    	int q = upper_bound(all(ya), y) - lower_bound(all(ya), y) - 1;
    	res += 1LL * p * q;
    }
    cout << res;

    return 0;
}

/*

*/
# Verdict Execution time Memory Grader output
1 Correct 1 ms 344 KB Output is correct
2 Correct 1 ms 344 KB Output is correct
3 Correct 0 ms 344 KB Output is correct
4 Correct 1 ms 344 KB Output is correct
5 Correct 0 ms 344 KB Output is correct
6 Correct 0 ms 344 KB Output is correct
7 Correct 0 ms 344 KB Output is correct
8 Correct 0 ms 344 KB Output is correct
9 Correct 1 ms 344 KB Output is correct
10 Correct 1 ms 348 KB Output is correct
11 Correct 1 ms 348 KB Output is correct
12 Correct 5 ms 856 KB Output is correct
13 Correct 5 ms 856 KB Output is correct
14 Correct 6 ms 856 KB Output is correct
15 Correct 68 ms 4288 KB Output is correct
16 Correct 82 ms 4540 KB Output is correct
17 Correct 69 ms 4288 KB Output is correct
18 Correct 74 ms 4316 KB Output is correct
19 Correct 207 ms 14248 KB Output is correct
20 Correct 150 ms 7856 KB Output is correct
21 Correct 238 ms 13020 KB Output is correct
22 Correct 232 ms 14412 KB Output is correct