Submission #683400

# Submission time Handle Problem Language Result Execution time Memory
683400 2023-01-18T10:20:29 Z acm Segments (IZhO18_segments) C++14
7 / 100
5000 ms 1076 KB
#ifdef ONLINE_JUDGE
#pragma GCC optimize("Ofast,no-stack-protector,unroll-loops,fast-math,O3")
#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
#endif
#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 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, m, g, t, h, lastans, a[2][200005];
inline int kek(int l, int r, int x) {
  int new_ans = 0;
#pragma GCC ivdep
#pragma loop(hint_parallel(8))
  for (int i = 1; i <= g; i++)
    new_ans += a[0][i] <= r - x + 1 && a[1][i] >= l + x - 1 &&
               x <= -a[0][i] + a[1][i] + 1;
  return new_ans;
}
int main() {
  speed;
  precision;
  // code
  cin >> n >> t;
  assert(n <= 2e5);
  m = n;
  while (m--) {
    int type, l, r, x;
    cin >> type;
    if (type == 1) {
      cin >> l >> r;
      l ^= t * lastans;
      r ^= t * lastans;
      if (l > r) swap(l, r);
      ++g;
      a[0][g] = l;
      a[1][g] = r;
    }
    if (type == 2) {
      cin >> x;
      a[0][x] = 1e9;
      a[1][x] = -1e9;
    }
    if (type == 3) {
      cin >> l >> r >> x;
      l ^= t * lastans;
      r ^= t * lastans;
      if (l > r) swap(l, r);
      cout << (lastans = kek(l, r, x)) << "\n";
    }
  }
  // endl
#ifndef ONLINE_JUDGE
  cerr << "\nTime elapsed: " << 1.0 * clock() / CLOCKS_PER_SEC << " s.\n";
#endif
  return 0;
}

Compilation message

segments.cpp:33: warning: ignoring '#pragma loop ' [-Wunknown-pragmas]
   33 | #pragma loop(hint_parallel(8))
      | 
segments.cpp: In function 'void ioi(std::string)':
segments.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);
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
segments.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 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 3 ms 340 KB Output is correct
4 Correct 3 ms 340 KB Output is correct
5 Correct 19 ms 364 KB Output is correct
6 Correct 25 ms 368 KB Output is correct
7 Correct 8 ms 340 KB Output is correct
8 Correct 13 ms 340 KB Output is correct
9 Correct 12 ms 364 KB Output is correct
10 Correct 5 ms 340 KB Output is correct
11 Correct 32 ms 368 KB Output is correct
12 Correct 31 ms 340 KB Output is correct
13 Correct 7 ms 340 KB Output is correct
14 Correct 13 ms 348 KB Output is correct
15 Correct 3 ms 340 KB Output is correct
16 Correct 3 ms 340 KB Output is correct
17 Correct 12 ms 356 KB Output is correct
18 Correct 8 ms 340 KB Output is correct
19 Correct 12 ms 340 KB Output is correct
20 Correct 13 ms 340 KB Output is correct
# Verdict Execution time Memory Grader output
1 Execution timed out 5069 ms 912 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 444 ms 612 KB Output is correct
2 Correct 410 ms 816 KB Output is correct
3 Correct 526 ms 692 KB Output is correct
4 Correct 436 ms 808 KB Output is correct
5 Execution timed out 5079 ms 1076 KB Time limit exceeded
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 415 ms 620 KB Output is correct
2 Correct 412 ms 716 KB Output is correct
3 Correct 451 ms 660 KB Output is correct
4 Correct 412 ms 548 KB Output is correct
5 Execution timed out 5089 ms 1008 KB Time limit exceeded
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 3 ms 340 KB Output is correct
4 Correct 3 ms 340 KB Output is correct
5 Correct 19 ms 364 KB Output is correct
6 Correct 25 ms 368 KB Output is correct
7 Correct 8 ms 340 KB Output is correct
8 Correct 13 ms 340 KB Output is correct
9 Correct 12 ms 364 KB Output is correct
10 Correct 5 ms 340 KB Output is correct
11 Correct 32 ms 368 KB Output is correct
12 Correct 31 ms 340 KB Output is correct
13 Correct 7 ms 340 KB Output is correct
14 Correct 13 ms 348 KB Output is correct
15 Correct 3 ms 340 KB Output is correct
16 Correct 3 ms 340 KB Output is correct
17 Correct 12 ms 356 KB Output is correct
18 Correct 8 ms 340 KB Output is correct
19 Correct 12 ms 340 KB Output is correct
20 Correct 13 ms 340 KB Output is correct
21 Execution timed out 5069 ms 912 KB Time limit exceeded
22 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 3 ms 340 KB Output is correct
4 Correct 3 ms 340 KB Output is correct
5 Correct 19 ms 364 KB Output is correct
6 Correct 25 ms 368 KB Output is correct
7 Correct 8 ms 340 KB Output is correct
8 Correct 13 ms 340 KB Output is correct
9 Correct 12 ms 364 KB Output is correct
10 Correct 5 ms 340 KB Output is correct
11 Correct 32 ms 368 KB Output is correct
12 Correct 31 ms 340 KB Output is correct
13 Correct 7 ms 340 KB Output is correct
14 Correct 13 ms 348 KB Output is correct
15 Correct 3 ms 340 KB Output is correct
16 Correct 3 ms 340 KB Output is correct
17 Correct 12 ms 356 KB Output is correct
18 Correct 8 ms 340 KB Output is correct
19 Correct 12 ms 340 KB Output is correct
20 Correct 13 ms 340 KB Output is correct
21 Execution timed out 5069 ms 912 KB Time limit exceeded
22 Halted 0 ms 0 KB -