백준 알고리즘 기초 강좌
3장 다이나믹 프로그래밍 - (2) 문제 풀이 5 [11052번 붕어빵 판매하기]
살구르
2017. 8. 13. 13:40
#include <iostream>
using namespace std;
int d[1001];
int p[1001];
int main(void) {
int n;
cin >> n;
for (int i = 1; i <= n; i++) {
cin >> p[i];
}
for (int i = 1; i <= n; i++) {
d[i] = p[i];
int temp = i / 2;
for (int k = 1; k <= temp ;k++) {
if (d[i] < d[i - k] + d[k])
d[i] = d[i - k] + d[k];
}
}
cout << d[n] << endl;
return 0;
}