#include "bits/stdc++.h"
#define FOR(i,a,b)for(int i=(a);i<(b);i++)
#define F0R(i,a)FOR(i,0,a)
#define ROF(i,a,b)for(int i=(b)-1;i>=(a);i--)
#define R0F(i,a)ROF(i,0,a)
#define REP(a)F0R(_,a)
using namespace std;
const int mxn=2e3+20,mxm=101;
long long dp[mxm][mxn],p[mxn];
int y[mxn];
int main(){
int n,a,b;cin>>n>>a>>b;
F0R(i,n)cin>>y[i];
FOR(i,1,n+1)p[i]=p[i-1]+y[i-1];
memset(dp,0x3f,sizeof(dp));
dp[0][0]=0;
FOR(i,1,n+1)FOR(j,1,min(i+1,mxm)){
F0R(k,i)dp[j][i]=min(dp[j][i],dp[j-1][k]|(p[i]-p[k]));
}
long long ans=LLONG_MAX;
FOR(i,a,b+1)ans=min(ans,dp[i][n]);
cout<<ans<<endl;
}
| # | 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... |