#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];
// cout<<num<<' '<<val<<' '<< (num & val)<<'\n';
if(!(num & val)) ed = i;
}
// cout<<ed<<'\n';
return ed;
}
signed main(){
cin >>n>>A>>B;
for(int i = 1;i <= n;i++) cin >>a[i];
int ans = 0;
for(int bt = 59;bt >= 0;bt--){
int val = ans + (1LL << bt);
int bg = 1;
int num = 0;
while(bg != -1 && bg <= n){
num++;
bg = find(bg,val);
if(bg != -1) bg++;
}
// cout<<bg<<' '<<num<<'\n';
if(bg != -1 && num <= B) ans += (1LL << bt);
}
// cout<<ans<<' ';
cout<< (ans ^ ((1LL << 60) - 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... |