# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
145994 | 2019-08-21T14:12:03 Z | str0ct | Bali Sculptures (APIO15_sculpture) | C++14 | 3 ms | 376 KB |
#include<bits/stdc++.h> using namespace std; using ll=long long; ll N,A,B; ll arr[2020]; ll ans; void sol2(){ ll k=45; ans=(1LL<<k)-1; k--; ll dp[2020]; while(k>=0){ ans-=(1LL<<k); fill(dp+1,dp+2020,10101010); for(ll i=1;i<=N;i++){ for(ll j=0;j<i;j++)if(((arr[i]-arr[j])|ans)==ans)dp[i]=min(dp[i],dp[j]+1); } if(dp[N]>B)ans+=(1<<k); k--; } } void sol1(){ ll dp[105][105]; ll k=45; ans=(1LL<<k)-1; k--; while(k>0){ for(ll i=0;i<105;i++)for(ll j=0;j<105;j++)dp[i][j]=0; dp[0][0]=1; ans-=(1LL<<k); for(ll i=1;i<=N;i++) for(ll j=1;j<=i;j++) for(ll p=0;p<i;p++) if(dp[p][j-1]&&((arr[i]-arr[p])|ans)==ans)dp[i][j]=1; ll flag=0; for(ll i=A;i<=B;i++){ if(dp[N][i]){ flag=1; break; } } if(!flag)ans+=(1LL<<k); k--; } } int main(){ scanf("%lld%lld%lld",&N,&A,&B); for(ll i=1;i<=N;i++){ scanf("%lld",arr+i); arr[i]+=arr[i-1]; } if(A)sol1(); else sol2(); printf("%lld",ans); }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 376 KB | Output is correct |
2 | Incorrect | 2 ms | 376 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 376 KB | Output is correct |
2 | Incorrect | 2 ms | 376 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 376 KB | Output is correct |
2 | Incorrect | 2 ms | 376 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 376 KB | Output is correct |
2 | Incorrect | 2 ms | 376 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 376 KB | Output is correct |
2 | Incorrect | 3 ms | 348 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |