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...