Submission #1298890

#TimeUsernameProblemLanguageResultExecution timeMemory
1298890AbdullahIshfaqBali Sculptures (APIO15_sculpture)C++20
100 / 100
63 ms580 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; int main() { int N, A, B; cin >> N >> A >> B; vector<ll> ages(N + 1); for (int i = 1; i <= N; ++i) cin >> ages[i]; ll mask = (1LL << 41) - 1; vector<ll> L(N + 1), R(N + 1); for (int bit = 40; bit >= 0; --bit) { mask ^= (1LL << bit); for (int i = 1; i <= N; i++) { L[i] = 1e9, R[i] = -1e9; ll s = 0; for (int j = i - 1; j >= 0; j--) { s += ages[j + 1]; if ((s & mask) == s) { L[i] = min(L[i], L[j] + 1); R[i] = max(R[i], R[j] + 1); } } } if (!(A <= R[N] && L[N] <= B)) { mask ^= (1LL << bit); } } cout << mask << endl; }
#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...