Submission #1191807

#TimeUsernameProblemLanguageResultExecution timeMemory
1191807emad234Bali Sculptures (APIO15_sculpture)C++20
50 / 100
83 ms644 KiB
#include <bits/stdc++.h>
#define int long long
#define F first
#define S second
#define pii pair<int, int>
const int mxN = 2e3 + 5;
using namespace std;
int a[mxN],dp[mxN],n,A,B;
int solve(int val){
  memset(dp,0,sizeof dp);
  for(int i = 1;i <= n;i++){
    int num = 0;
    dp[i] = 1e18;
    for(int j = i;j;j--){
      num += a[j];
      if(!(num & val)) dp[i] = min(dp[i],dp[j - 1] + 1);
    }
  }
  return dp[n];
}
signed main(){
  cin >>n>>A>>B;
  for(int i = 1;i <= n;i++) cin >>a[i];
  int ans = 0;
  for(int bt = 45;bt >= 0;bt--){
    int val = ans + (1LL << bt);
    int bg = 1;
    int num = 0;
    if(solve(val) <= B) ans += (1LL << bt);
  }
  // cout<<ans<<' ';
  cout<< (ans ^ ((1LL << 46) - 1));
}
#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...