This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define pll pair<ll, ll>
#define pii pair<int, int>
#define fs first
#define sc second
#define pb push_back
void solve() {
    int n,l,r;
    cin>>n>>l>>r;
    ll a[n+1];
    for(int i=1;i<=n;i++)cin>>a[i];
    if(l==1){
        ll ans=(1LL<<41)-1;
        for(int x=40;x>-1;x--){
            ans^=1LL<<x;
            int dp[n+1];
            dp[0]=0;
            for(int i=1;i<=n;i++){
                dp[i]=1e9;
                ll s=0;
                for(int j=i;j;j--){
                    s+=a[j];
                    if((s&ans)==s){
                        dp[i]=min(dp[i],dp[j-1]+1);
                    }
                }
            }
            if(dp[n]>r)ans^=1LL<<x;
        }
        cout<<ans;
    }else{
        ll ans=(1LL<<41)-1;
        for(int x=40;x>-1;x--){
            ans^=1LL<<x;
            bool dp[n+1][n+1];
            memset(dp,0,sizeof(dp));
            dp[0][0]=1;
            for(int i=1;i<=n;i++){
                for(int k=1;k<=n;k++){
                    ll s=0;
                    for(int j=i;j;j--){
                        s+=a[j];
                        if((s&ans)==s){
                            dp[i][k]|=dp[j-1][k-1];       
                        }
                    }
                }
            }
            bool s=0;
            for(int i=l;i<=r;i++)s|=dp[n][i];
            if(!s)ans^=1LL<<x;
        }
        cout<<ans;
        
    }
}
int main() {
    ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
    solve();
}
| # | 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... |