Submission #236096

#TimeUsernameProblemLanguageResultExecution timeMemory
236096VEGAnnDojave (COCI17_dojave)C++14
42 / 140
4088 ms12664 KiB
#include <bits/stdc++.h> #define sz(x) ((int)x.size()) #define a3 array<int, 3> using namespace std; const int N = (1 << 20); const int oo = 2e9; int a[N], need, m, ans = 0; bool in[N]; int main(){ ios_base::sync_with_stdio(0); cin.tie(0); #ifdef _LOCAL freopen("in.txt","r",stdin); #endif // _LOCAL cin >> m; for (int i = 0; i < (1 << m); i++) cin >> a[i]; need = (1 << m) - 1; for (int l = 0; l < (1 << m); l++){ int xr = 0; fill(in, in + (1 << m), 0); for (int r = l; r < (1 << m); r++){ xr ^= a[r]; in[a[r]] = 1; if (xr == need){ if (r - l + 3 <= (1 << m) || (r - l + 1 > 1)) ans++; // else cerr << l << " " << r << '\n'; } else { bool ok = 0; for (int i = l; i <= r && !ok; i++){ int nd = (need ^ a[i] ^ xr); if (!in[nd]) ok = 1; } if (ok) ans++; // else cerr << l << " " << r << '\n'; } } } cout << ans; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...