Submission #391573

# Submission time Handle Problem Language Result Execution time Memory
391573 2021-04-19T11:58:39 Z acm Star triangles (IZhO11_triangle) C++14
100 / 100
369 ms 12200 KB
#include <bits/stdc++.h>
#define speed                   \
  ios_base::sync_with_stdio(0); \
  cin.tie(0);                   \
  cout.tie(0);
#define precision     \
  cout.precision(30); \
  cerr.precision(10);
#define ll long long
#define ld long double
#define pll pair<ll, ll>
#define pii pair<int, int>
#define forn(n) for (int i = 1; i <= n; i++)
#define forlr(l, r) for (int i = l; i != r; (l > r ? i-- : i++))
#define pb(x) push_back(x)
#define sz(x) (int)x.size()
#define mp(x, y) make_pair(x, y)
#define all(x) x.begin(), x.end()
#define pc(x) __builtin_popcount(x)
#define pcll(x) __builtin_popcountll(x)
#define F first
#define S second
using namespace std;
mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count());
void ioi(string name) {
  freopen((name + ".in").c_str(), "r", stdin);
  freopen((name + ".out").c_str(), "w", stdout);
}
int n;
ll t;
pair<int, int> a[500005];
map<int, int> m, k;
int main() {
  speed;
  precision;
  // code
  cin >> n;
  for (int i = 1; i <= n; i++) {
    int x, y;
    cin >> x >> y;
    a[i] = mp(x, y);
    m[x]++;
    k[y]++;
  }
  for (int i = 1; i <= n; i++) {
    t += (ll)(m[a[i].F] - 1) * (k[a[i].S] - 1);
  }
  cout << t;
  // endl
#ifndef ONLINE_JUDGE
  cerr << "\nTime elapsed: " << 1.0 * clock() / CLOCKS_PER_SEC << " s.\n";
#endif
  return 0;
}

Compilation message

triangle.cpp: In function 'void ioi(std::string)':
triangle.cpp:26:10: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
   26 |   freopen((name + ".in").c_str(), "r", stdin);
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
triangle.cpp:27:10: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
   27 |   freopen((name + ".out").c_str(), "w", stdout);
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
3 Correct 1 ms 324 KB Output is correct
4 Correct 1 ms 320 KB Output is correct
5 Correct 1 ms 324 KB Output is correct
6 Correct 1 ms 204 KB Output is correct
7 Correct 1 ms 336 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 328 KB Output is correct
11 Correct 1 ms 332 KB Output is correct
12 Correct 9 ms 972 KB Output is correct
13 Correct 7 ms 984 KB Output is correct
14 Correct 12 ms 1408 KB Output is correct
15 Correct 140 ms 6112 KB Output is correct
16 Correct 133 ms 6484 KB Output is correct
17 Correct 116 ms 6104 KB Output is correct
18 Correct 120 ms 6184 KB Output is correct
19 Correct 315 ms 11540 KB Output is correct
20 Correct 248 ms 9260 KB Output is correct
21 Correct 352 ms 12200 KB Output is correct
22 Correct 369 ms 12076 KB Output is correct