#include<bits/stdc++.h>
using namespace std;
long long dp[110][110],arr[110],qs[110];
int main(){
int n,a,b;
cin>>n >>a >>b;
for(int i=1;i<=n;i++) cin>>arr[i];
for(int i=1;i<=n;i++) qs[i]=arr[i]+qs[i-1];
if(n<=100){
for(int i=0;i<=b;i++) for(int j=0;j<=n;j++) dp[i][j]=LLONG_MAX;
dp[0][0]=0;
for(int i=1;i<=b;i++){
for(int j=1;j<=n;j++){
for(int k=0;k<j;k++){
dp[i][j]=min(dp[i][j],dp[i-1][k]|(qs[j]-qs[k]));
}
}
}
long long ans=LLONG_MAX;
for(int i=a;i<=b;i++) ans=min(ans,dp[i][n]);
cout<<ans;
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... |