Submission #1028681

#TimeUsernameProblemLanguageResultExecution timeMemory
1028681VectorLiXOR (IZhO12_xor)C++14
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> #define long long long using namespace std; const int N = 250000; struct trie { int n; int e[N * 30 + 1][2]; int m[N]; trie() { for (int i = 0; i < N; i++) { m[i] = numeric_limits<int>::max(); } } void insert(int x, int p) { int u = 0; for (int i = 29; i >= 0; i--) { m[u] = min(m[u], p); int &v = e[u][(x >> i) & 1]; if (v == 0) { v = ++n; } u = v; } m[u] = min(m[u], p); } int query(int x, int k) { int u = 0; int h = numeric_limits<int>::max(); for (int i = 29; i >= 0; i--) { int b = (x >> i) & 1; if ((k >> i) & 1) { if (e[u][b ^ 1] == 0) { return -1; } else { u = e[u][b ^ 1]; } } else { if (e[u][b ^ 1] > 0) { h = min(h, m[e[u][b ^ 1]]); } if (e[u][b] == 0) { break; } else { u = e[u][b]; } } } return h; } } t; int main() { #ifdef LOCAL freopen("A.in", "r", stdin); #endif ios::sync_with_stdio(false); cin.tie(nullptr); int n, k; cin >> n >> k; k = k - 1; vector<int> a(n); for (int i = 0; i < n; i++) { cin >> a[i]; } vector<int> s(n + 1); for (int i = 0; i < n; i++) { s[i + 1] = s[i] ^ a[i]; } t.insert(0, 0); int l = 0, st = 0; for (int i = 1; i < n + 1; i++) { int p = t.query(s[i], k); if (p < 0) { continue; } if (i - p + 1 > l) { l = i - p + 1; st = i; } if (i - p + 1 == l && i < st) { st = i; } t.insert(s[i], i); }#include <bits/stdc++.h> #define long long long using namespace std; const int N = 250000; struct trie { int n; int e[N * 30 + 1][2]; int m[N]; trie() { for (int i = 0; i < N; i++) { m[i] = numeric_limits<int>::max(); } } void insert(int x, int p) { int u = 0; for (int i = 29; i >= 0; i--) { m[u] = min(m[u], p); int &v = e[u][(x >> i) & 1]; if (v == 0) { v = ++n; } u = v; } m[u] = min(m[u], p); } int query(int x, int k) { int u = 0; int h = numeric_limits<int>::max(); for (int i = 29; i >= 0; i--) { int b = (x >> i) & 1; if ((k >> i) & 1) { if (e[u][b ^ 1] == 0) { return -1; } else { u = e[u][b ^ 1]; } } else { if (e[u][b ^ 1] > 0) { h = min(h, m[e[u][b ^ 1]]); } if (e[u][b] == 0) { break; } else { u = e[u][b]; } } } return h; } } t; int main() { #ifdef LOCAL freopen("A.in", "r", stdin); #endif ios::sync_with_stdio(false); cin.tie(nullptr); int n, k; cin >> n >> k; k = k - 1; vector<int> a(n); for (int i = 0; i < n; i++) { cin >> a[i]; } vector<int> s(n + 1); for (int i = 0; i < n; i++) { s[i + 1] = s[i] ^ a[i]; } t.insert(0, 0); int l = 0, st = 0; for (int i = 1; i < n + 1; i++) { int p = t.query(s[i], k); if (p < 0) { continue; } if (i - p + 1 > l) { l = i - p + 1; st = i; } if (i - p + 1 == l && i < st) { st = i; } t.insert(s[i], i); } cout << st << " " << l << "\n"; return 0; } cout << st << " " << l << "\n"; return 0; }

Compilation message (stderr)

xor.cpp:94:3: error: stray '#' in program
   94 |  }#include <bits/stdc++.h>
      |   ^
xor.cpp: In function 'int main()':
xor.cpp:94:4: error: 'include' was not declared in this scope
   94 |  }#include <bits/stdc++.h>
      |    ^~~~~~~
xor.cpp:94:13: error: 'bits' was not declared in this scope
   94 |  }#include <bits/stdc++.h>
      |             ^~~~
xor.cpp:94:18: error: 'stdc' was not declared in this scope; did you mean 'std'?
   94 |  }#include <bits/stdc++.h>
      |                  ^~~~
      |                  std
xor.cpp:97:1: error: expected primary-expression before 'using'
   97 | using namespace std;
      | ^~~~~
xor.cpp:151:12: error: a function-definition is not allowed here before '{' token
  151 | int main() {
      |            ^