#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int MAXN = 25;
ll y[MAXN];
ll val[MAXN];
int a, b, n;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cin >> n >> a >> b;
fill(val, val + n + 5, LONG_LONG_MAX);
for (int i = 1; i <= n; i++)
cin >> y[i];
for (int i = 0; i < (1 << (n - 1)); i++)
{
int splits = 1;
ll curr = 0, res = 0;
for (int j = 1; j <= n; j++)
{
curr += y[j];
if (j < n && (i & (1LL << (j - 1))))
{
res |= curr;
curr = 0;
splits++;
}
}
res |= curr;
val[splits] = min(val[splits], res);
}
ll out = LONG_LONG_MAX;
for (int i = a; i <= b; i++)
out = min(out, val[i]);
cout << out << '\n';
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... |