
코드
#include <iostream>
#include <vector>
#include <algorithm>
int main()
{
std::vector<int> Cards;
std::vector<int> DP;
int N;
std::cin >> N;
Cards.resize(N+1);
DP.resize(N+1);
for (int i = 1; i <= N; i++)
{
std::cin >> Cards[i];
}
for (int i = 1; i < Cards.size(); i++)
{
for (int j = 1; j <= i; j++)
{
DP[i] = std::max(DP[i], DP[i - j] + Cards[j]);
}
}
// 카드 1개 -> N
// 카드 2개 -> N, (N-1)+1
// 점화식 다시 봐보기
std::cout << DP[N];
return 0;
}
'C++ > 백준 C++' 카테고리의 다른 글
| C++ 9935 문자열 폭발 [문자열] (0) | 2024.10.22 |
|---|---|
| C++ 13458 시험 감독 [연산] (0) | 2024.10.22 |
| C++ 1012 우기농 배추 [DFS, 그래프 탐색] (0) | 2024.10.22 |
| C++ 1874 스택 수열 [스택] (0) | 2024.10.21 |
| C++ 2667 단지번호붙이기 [DFS, 그래프 탐색] (0) | 2024.10.21 |