Submission #968448

#TimeUsernameProblemLanguageResultExecution timeMemory
968448AcanikolicBali Sculptures (APIO15_sculpture)C++14
21 / 100
1 ms600 KiB
#include <bits/stdc++.h>

#define int long long

#define pb push_back

#define F first

#define S second

using namespace std;

const long long N = 2e5 + 10;

const long long mod = 998244353;

const long long inf = 1e18;

signed main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);

	int n,l,r;
	cin >> n >> l >> r;
	vector<int>a(n + 1),pref(n + 1);
	for(int i = 1; i <= n; i++) {
		cin >> a[i];
		pref[i] = pref[i - 1] + a[i];
	}
	if(l == 1) {
		int res = (1ll << 31) - 1;
		for(int j = 30; j >= 0; j--) {
			int try_res = res ^ (1ll << j);
			vector<int>mn(n + 1,inf);
			mn[0] = 0;
			for(int i = 1; i <= n; i++) {
				for(int k = 1; k <= i; k++) {
					int sum = pref[i] - pref[k - 1];
					if((sum & try_res) == sum) {
						mn[i] = min(mn[i],mn[k - 1] + 1);
					}
				}
			}
			if(mn[n] <= r) res = try_res;
		}
		cout << res;	
		return 0;
	}
    return 0; 
}
#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...