Submission #1305535

#TimeUsernameProblemLanguageResultExecution timeMemory
1305535coolboy19521Bali Sculptures (APIO15_sculpture)C++20
0 / 100
2 ms1864 KiB
#include "bits/stdc++.h" #define FOR(i,a,b)for(int i=(a);i<(b);i++) #define F0R(i,a)FOR(i,0,a) #define ROF(i,a,b)for(int i=(b)-1;i>=(a);i--) #define R0F(i,a)ROF(i,0,a) #define REP(a)F0R(_,a) using namespace std; const int mxn=2e3+20,mxm=101; long long dp[mxm][mxn],p[mxn]; int y[mxn]; int main(){ int n,a,b;cin>>n>>a>>b; F0R(i,n)cin>>y[i]; FOR(i,1,n+1)p[i]=p[i-1]+y[i-1]; memset(dp,0x3f,sizeof(dp)); dp[0][0]=0; FOR(i,1,n+1)FOR(j,1,min(i+1,mxm)){ F0R(k,i)dp[j][i]=min(dp[j][i],dp[j-1][k]|(p[i]-p[k])); } long long ans=LLONG_MAX; FOR(i,a,b+1)ans=min(ans,dp[i][n]); cout<<ans<<endl; }
#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...