Submission #1191795

#TimeUsernameProblemLanguageResultExecution timeMemory
1191795emad234Bali Sculptures (APIO15_sculpture)C++20
0 / 100
1 ms328 KiB
#include <bits/stdc++.h>
#define int long long
#define F first
#define S second
#define pii pair<int, int>
const int mxN = 4e5 + 5;
using namespace std;
int a[mxN],n,A,B;
int find(int bg,int val){
  int num = 0;int ed = -1;
  for(int i = bg;i <=n;i++){
    num += a[i];
    // cout<<num<<' '<<val<<' '<< (num & val)<<'\n';
    if(!(num & val)) ed = i;
  }
  // cout<<ed<<'\n';
  return ed;
}
signed main(){
  cin >>n>>A>>B;
  for(int i = 1;i <= n;i++) cin >>a[i];
  int ans = 0;
  for(int bt = 59;bt >= 0;bt--){
    int val = ans + (1LL << bt);
    int bg = 1;
    int num = 0;
    while(bg != -1 && bg <= n){
      num++;
      bg = find(bg,val);
      if(bg != -1) bg++;
    }
    // cout<<bg<<' '<<num<<'\n';
    if(bg != -1 && num <= B) ans += (1LL << bt);
  }
  // cout<<ans<<' ';
  cout<< (ans ^ ((1LL << 60) - 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...