Submission #676864

#TimeUsernameProblemLanguageResultExecution timeMemory
676864ArnchBali Sculptures (APIO15_sculpture)C++17
50 / 100
96 ms460 KiB
// oooo
/*
 har chi delet mikhad bebar ~
 gitar o ba khodet nabar! ~
 ;Amoo_Hasan;
*/

/*
	link:	
*/

#include<bits/stdc++.h>
//#pragma GCC optimize("O3,no-stack-protector,unroll-loops")
//#pragma GCC target("avx2,fma")

using namespace std;

typedef long long ll;
typedef long double ld;

#define Sz(x) int((x).size())
#define All(x) (x).begin(), (x).end()
#define wtf(x) cout<<#x <<" : " <<x <<endl
#define mak make_pair

//constexpr int PRI = 1000696969;
constexpr ll INF = 1e18, N = 1e6 + 10, MOD = 1e9 + 7;

int n, A, B;
ll a[N], dp[N];

bool ok(ll x) {
	ll last = 0, sum = 0, cur = 0;
	dp[0] = 0;
	for(int i = 1; i <= n; i++) {
		dp[i] = INF;
		sum = 0;
		for(int j = i; j >= 1; j--) {
			sum += a[j];
			if((sum & x) == sum) dp[i] = min(dp[i], dp[j - 1] + 1);
		}
	}	
	if(dp[n] <= B) return true;
	return false;
}	

int main() {
	ios :: sync_with_stdio(0), cin.tie(0); cout.tie(0);

	cin >>n >>A >>B;
	for(int i = 1; i <= n; i++) cin >>a[i];
	
	ll ans = 0;
	for(int i = 42; i >= 0; i--) {
		if(ok(ans + (1ll << i) - 1)) continue;
		ans |= (1ll << i);
	}

	cout<<ans;

	
	return 0;
}


Compilation message (stderr)

sculpture.cpp: In function 'bool ok(ll)':
sculpture.cpp:33:5: warning: unused variable 'last' [-Wunused-variable]
   33 |  ll last = 0, sum = 0, cur = 0;
      |     ^~~~
sculpture.cpp:33:24: warning: unused variable 'cur' [-Wunused-variable]
   33 |  ll last = 0, sum = 0, cur = 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...