Submission #57085

# Submission time Handle Problem Language Result Execution time Memory
57085 2018-07-13T21:50:11 Z Benq Star triangles (IZhO11_triangle) C++14
100 / 100
718 ms 39044 KB
#include <bits/stdc++.h>
#include <ext/pb_ds/tree_policy.hpp>
#include <ext/pb_ds/assoc_container.hpp>

using namespace std;
using namespace __gnu_pbds;
 
typedef long long ll;
typedef long double ld;
typedef complex<ld> cd;

typedef pair<int, int> pi;
typedef pair<ll,ll> pl;
typedef pair<ld,ld> pd;

typedef vector<int> vi;
typedef vector<ld> vd;
typedef vector<ll> vl;
typedef vector<pi> vpi;
typedef vector<pl> vpl;
typedef vector<cd> vcd;

template <class T> using Tree = tree<T, null_type, less<T>, rb_tree_tag,tree_order_statistics_node_update>;

#define FOR(i, a, b) for (int i=a; i<(b); i++)
#define F0R(i, a) for (int i=0; i<(a); i++)
#define FORd(i,a,b) for (int i = (b)-1; i >= a; i--)
#define F0Rd(i,a) for (int i = (a)-1; i >= 0; i--)

#define sz(x) (int)(x).size()
#define mp make_pair
#define pb push_back
#define f first
#define s second
#define lb lower_bound
#define ub upper_bound
#define all(x) x.begin(), x.end()

const int MOD = 1000000007;
const ll INF = 1e18;
const int MX = 100001;

int n;
vpi p;
ll ans = 0;
map<int,int> x,y;

int main() {
    ios_base::sync_with_stdio(0); cin.tie(0);
    cin >> n; p.resize(n);
    F0R(i,n) {
        cin >> p[i].f >> p[i].s;
        x[p[i].f] ++;
        y[p[i].s] ++;
    }
    ll ans = 0;
    F0R(i,n) {
        int X = x[p[i].f]-1, Y = y[p[i].s]-1;
        ans += (ll)X*Y;
    }
    cout << ans;
}

/* Look for:
* the exact constraints (multiple sets are too slow for n=10^6 :( ) 
* special cases (n=1?)
* overflow (ll vs int?)
* array bounds
*/
# Verdict Execution time Memory Grader output
1 Correct 2 ms 248 KB Output is correct
2 Correct 4 ms 488 KB Output is correct
3 Correct 3 ms 488 KB Output is correct
4 Correct 3 ms 532 KB Output is correct
5 Correct 3 ms 572 KB Output is correct
6 Correct 2 ms 576 KB Output is correct
7 Correct 3 ms 856 KB Output is correct
8 Correct 3 ms 856 KB Output is correct
9 Correct 4 ms 856 KB Output is correct
10 Correct 3 ms 856 KB Output is correct
11 Correct 4 ms 1000 KB Output is correct
12 Correct 11 ms 1640 KB Output is correct
13 Correct 13 ms 1788 KB Output is correct
14 Correct 18 ms 2364 KB Output is correct
15 Correct 288 ms 7516 KB Output is correct
16 Correct 275 ms 9852 KB Output is correct
17 Correct 292 ms 12052 KB Output is correct
18 Correct 267 ms 14200 KB Output is correct
19 Correct 597 ms 21492 KB Output is correct
20 Correct 332 ms 25172 KB Output is correct
21 Correct 718 ms 32716 KB Output is correct
22 Correct 480 ms 39044 KB Output is correct