제출 #238201

#제출 시각아이디문제언어결과실행 시간메모리
238201NONAMEDojave (COCI17_dojave)C++17
70 / 140
4067 ms9592 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, cnt = 0; for (int j = i; j < n; ++j) { cur ^= a[j]; mk[a[j]] = 1; if (mk[fx ^ a[j]]) cnt--; else cnt++; if (cur == fx) { if (j - i + 3 <= n || j - i + 1 > 1) ans++; } else ans += (cnt > 0); } 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...