본문 바로가기
백준 알고리즘/다이나믹 프로그래밍

백준 11052번 C++

by paysmile 2019. 8. 21.

 

#include <iostream>
#include <algorithm>

using namespace std;
const int MAX = 1001;
int n;
int card[MAX];

int calmaxcost() {

	for (int i = 2; i <= n; i++) {
		for (int j = i - 1; j >= j / 2; j--) {
			card[i] = max(card[i], card[i - j]+ card[j]);
		}
	}
	return card[n];
}

int main(void) {
	cin >> n;

	for (int i = 1; i <= n; i++) 
		cin >> card[i];
	cout << calmaxcost() << endl;
	return 0;
}

'백준 알고리즘 > 다이나믹 프로그래밍' 카테고리의 다른 글

백준 5582번 C++  (0) 2019.08.22
백준 2240번 C++  (0) 2019.08.22
백준 11054번 C++  (0) 2019.08.06
백준 1038번 C++  (0) 2019.08.06
백준 9084번 C++  (0) 2019.08.06