#include<bits/stdc++.h>
using namespace std;
using ll = long long;
using vi = vector<int>;
using vll = vector<ll>;
using vvll = vector<vll>;
#define INF 1e18
void solve() {
int n, l, r; cin >> n >> l >> r;
vi a(n);
for(auto& x : a) cin >> x;
vvll dp(n, vll(r + 1, -1));
auto dfs = [&](auto& dfs, int i = 0, int g = 0) -> ll {
if(g > r) return INF;
if(i == n) return g >= l ? 0 : INF;
auto& res = dp[i][g];
if(res != -1) return res;
res = INF;
ll x = 0;
for(int j = i; j < n; j++) {
x += a[j];
auto nxt = dfs(dfs, j + 1, g + 1);
if(nxt != INF) {
res = min(res, x | nxt);
}
}
return res;
};
cout << dfs(dfs) << '\n';
}
signed main() {
int t = 1;
for(int i = 1; i <= t; i++) {
solve();
}
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |