Submission #634045

#TimeUsernameProblemLanguageResultExecution timeMemory
634045tvladm2009Bali Sculptures (APIO15_sculpture)C++14
0 / 100
1 ms340 KiB
#include <iostream> #define int long long using namespace std; const int MAX_N = 2 * 1e3; const int INF = (1LL << 60); const int MAX_L = 11; int y[MAX_N + 1], range[MAX_N + 1][MAX_N + 1], dp[MAX_N + 1][MAX_N + 1]; int n, a, b; signed main() { cin >> n >> a >> b; for (int i = 1; i <= n; i++) { cin >> y[i]; range[i][i] = y[i]; } for (int i = 1; i <= n; i++) { for (int j = i + 1; j <= n; j++) { range[i][j] = range[i][j - 1] + y[j]; } } for (int i = 1; i <= n; i++) { for (int j = 0; j <= n; j++) { dp[i][j] = INF; } } for (int i = 1; i <= n; i++) { for (int j = 1; j <= n; j++) { for (int k = 1; k <= i; k++) { dp[i][j] = min(dp[i][j], (dp[k - 1][j - 1] | range[k][i])); } } } int answer = INF; for (int i = a; i <= b; i++) { answer = min(answer, dp[n][i]); } cout << answer; return 0; } /* 6 1 3 8 1 2 1 5 4 */
#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...