This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#define N 2002
using namespace std;
int n,A,B,i,j,k,f[N];
long long tt,a[N];
bool check(long long tt,int k)
{
memset(f,63,sizeof(f));
f[0]=0;
for(i=1;i<=n;i++)
for(j=0;j<i;j++)
{
long long tt2=a[i]-a[j];
if(((tt2>>k)|(tt>>k))==(tt>>k)) f[i]=min(f[i],f[j]+1);
}
return f[n]<=B;
}
void sub1()
{
for(k=33;k>=0;k--)
if(check(tt,k)==0) tt|=(1LL<<k);
cout<<tt;
}
int main()
{
//freopen("ntu.inp","r",stdin);
//freopen("ntu.out","w",stdout);
cin>>n>>A>>B;
for(i=1;i<=n;i++) { cin>>a[i]; a[i]+=a[i-1]; }
if(A==1) sub1();
// else sub2();
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |