Submission #170551

#TimeUsernameProblemLanguageResultExecution timeMemory
170551VEGAnnBali Sculptures (APIO15_sculpture)C++14
71 / 100
23 ms504 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; const ll PW = 43; const int N = 110; int f[N][N], a[N], n, A, B; ll res, bad; bool ok(){ for (int i = 0; i <= n; i++) for (int j = 0; j <= B; j++) f[i][j] = 0; f[0][0] = 1; for (int j = 1; j <= B; j++) for (int i = 1; i <= n; i++) { if (!f[i - 1][j - 1]) continue; ll sum = 0; for (int ii = i; ii <= n; ii++){ sum += a[ii]; if ((sum & bad) == 0) f[ii][j] = 1; } } for (int j = A; j <= B; j++) if (f[n][j]) return 1; return 0; } int main(){ ios_base::sync_with_stdio(0); cin.tie(0); // freopen("in.txt","r",stdin); cin >> n >> A >> B; for (int i = 1; i <= n; i++) cin >> a[i]; res = (1ll << PW) - 1; for (ll po = PW - 1; po >= 0; po--) { bad ^= (1ll << po); if (ok()) res ^= (1ll << po); else bad ^= (1ll << po); } cout << res; 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...