Submission #238199

#TimeUsernameProblemLanguageResultExecution timeMemory
238199NONAMEDojave (COCI17_dojave)C++17
28 / 140
4099 ms16760 KiB
#include <bits/stdc++.h> #define all(x) x.begin(), x.end() #define sz(x) int(x.size()) #define el '\n' #define pb push_back #define mp make_pair #define ft first #define sd second using namespace std; typedef long long ll; const int N = (1 << 21); ll n, a[N], ans; bool mk[N]; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> n; n = 1 << n; for (int i = 0; i < n; ++i) cin >> a[i]; int fx = n - 1; for (int i = 0; i < n; ++i) { int cur = 0; for (int j = i; j < n; ++j) { cur ^= a[j]; mk[a[j]] = 1; if (cur == fx) { if (j - i + 3 <= n || j - i + 1 > 1) ans++; } else { bool ok = 0; for (int l = i; l <= j; ++l) { int p = (cur ^ fx ^ a[l]); ok |= !mk[p]; } ans += ok; } } for (int j = 0; j < n; ++j) mk[j] = 0; } cout << ans; }
#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...