Submission #1307500

#TimeUsernameProblemLanguageResultExecution timeMemory
1307500namhhBali Sculptures (APIO15_sculpture)C++20
100 / 100
80 ms580 KiB
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define pii pair<int,int>
#define fi first
#define se second
const int N = 2e3+5;
int n,l,r,a[N],dp[N],mn[N],mx[N],pre[N];
signed main(){
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cin >> n >> l >> r;
	for(int i = 1; i <= n; i++){
		cin >> a[i];
		pre[i] = pre[i-1]+a[i];
	}
	int ans = 0;
	for(int i = 40; i >= 0; i--){
		int lim = ans | ((1ll << i)-1);
		for(int j = 1; j <= n; j++){
			mn[j] = 1e9;
			mx[j] = -1e9;
			for(int k = 1; k <= j; k++){
				int val = pre[j]-pre[k-1];
				if((val & lim) == val){
					mn[j] = min(mn[j],mn[k-1]+1);
					mx[j] = max(mx[j],mx[k-1]+1);
				}
			}
		}
		if(mn[n] > r || mx[n] < l) ans |= (1ll << i);
	}
	cout << ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...