Submission #838912

#TimeUsernameProblemLanguageResultExecution timeMemory
838912drkarlicio2107Bali Sculptures (APIO15_sculpture)C++14
0 / 100
1 ms468 KiB
#include <bits/stdc++.h> using namespace std; int pref [2010]; int dp [35][2010]; int l [2010]; int main(){ for (int i=0; i<35; i++){ for (int j=0; j<2010; j++) dp [i][j]=1e9; } int n, gra, grb; cin >> n >> gra >> grb; gra--; grb--; for (int i=0; i<n; i++) cin >> l [i]; pref [0]=l [0]; for (int i=1; i<n; i++) pref [i]=pref [i-1]+l [i]; int ans=0; for (int b=30; b>=0; b--){ for (int i=0; i<n; i++){ if ((((ans >> b) | ((pref [i])>>b)) == (ans >> b))) dp [b][0]=0; for (int j=i-1; j>=0; j--){ if ((((ans >> b) | ((pref [i]-pref [j])>>b)) == (ans >> b))) dp [b][i]=min (dp [b][i], dp [b][j]+1); } } //cout << dp [b][n-1] << " " << b << endl; if (dp [b][n-1]>grb) ans|=(1<<b); } cout << ans << endl; return 0; }
#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...