#include<bits/stdc++.h>
#define ll long long
#define mod 1000000007
using namespace std;
int main(){
ll n, a, b, ans = 0;
cin>>n>>a>>b;
vector<ll> v(n + 1, 0), pr(n + 1, 0);
for (int i = 1; i <= n; i++){
cin>>v[i];
pr[i] = pr[i - 1] + v[i];
}
for (int i = 0; i < 30; i++){
ans = (ans | (1LL<<i));
}
vector<ll> dp(n + 1, 0);
for (int ind = 29; ind >= 0; ind--){
ans = (ans ^ (1LL<<ind));
dp[0] = 0;
for (int i = 1; i <= n; i++){
dp[i] = n + 1;
for (int j = 0; j < i; j++){
ll su = (pr[i] - pr[j]);
ll nu = (ans | su);
if (nu == ans) dp[i] = min(dp[j] + 1, dp[i]);
}
}
if (dp[n] > b){
ans = (ans ^ (1LL<<ind));
}
}
cout<<ans;
}
| # | 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... |