Submission #243042

#TimeUsernameProblemLanguageResultExecution timeMemory
243042HuyQuang_re_ZeroBali Sculptures (APIO15_sculpture)C++14
21 / 100
7 ms436 KiB
#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=34;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 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...