Submission #349902

#TimeUsernameProblemLanguageResultExecution timeMemory
349902denkendoemeerBali Sculptures (APIO15_sculpture)C++14
100 / 100
120 ms512 KiB
#include<bits/stdc++.h>
#define ll long long
const ll inf=2e9;
using namespace std;
ll dp[2005],dp2[2005],v[2005];
int main()
{
    //freopen(".in","r",stdin);
    //freopen(".out","w",stdout);
    ll n,st,dr,i,last=0,j,e;
    scanf("%lld%lld%lld",&n,&st,&dr);
    for(i=1;i<=n;i++)
        scanf("%lld",&v[i]);
    for(i=41;i>=0;i--){
        for(j=1;j<=n;j++){
            dp[j]=inf;
            dp2[j]=0;
            ll sum=0;
            for(e=j;e>=1;e--){
                sum+=v[e];
                if (sum-(sum&last)<(1LL<<i) && dp[e-1]+1<=dr)
                    dp[j]=min(dp[j],dp[e-1]+1),dp2[j]=max(dp2[j],dp2[e-1]+1);
            }
        }
        if (dp[n]==inf || dp2[n]<st)
            last=last|(1ll<<i);
    }
    printf("%lld\n",last);
return 0;
}

Compilation message (stderr)

sculpture.cpp: In function 'int main()':
sculpture.cpp:11:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   11 |     scanf("%lld%lld%lld",&n,&st,&dr);
      |     ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
sculpture.cpp:13:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   13 |         scanf("%lld",&v[i]);
      |         ~~~~~^~~~~~~~~~~~~~
#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...