Submission #838919

#TimeUsernameProblemLanguageResultExecution timeMemory
838919drkarlicio2107Bali Sculptures (APIO15_sculpture)C++14
21 / 100
1 ms852 KiB
#include <bits/stdc++.h> using namespace std; long long int pref [2010]; long long int dp [35][2010]; long long 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; 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]; long long int ans=0; for (long long int b=32; b>=0; b--){ for (int i=0; i<n; i++){ if ((((ans >> b) | ((pref [i])>>b)) == (ans >> b))) dp [b][i]=1; 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); } } if (dp [b][n-1]>grb) ans|=((long long)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...