#include <bits/stdc++.h>
#define int long long
#define F first
#define S second
#define pii pair<int, int>
const int mxN = 4e5 + 5;
using namespace std;
int a[mxN],n,A,B;
int find(int bg,int val){
int num = 0;int ed = -1;
for(int i = bg;i <=n;i++){
num += a[i];
if(!(num & val)) ed = i;
}
return ed;
}
signed main(){
cin >>n>>A>>B;
for(int i = 1;i <= n;i++) cin >>a[i];
int ans = 0;
for(int bt = 45;bt >= 0;bt--){
int val = ans + (1LL << bt);
int bg = 1;
int num = 0;
while(bg && bg <= n){
num++;
bg = find(bg,val);
bg++;
}
// cout<<bg<<' '<<num<<'\n';
if(bg && num <= B) ans += (1LL << bt);
}
// cout<<ans<<' ';
cout<< (ans ^ ((1LL << 46) - 1));
}
# | 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... |