카테고리 없음
[C] 백준 - 11052번: 카드 구매하기
C0MPAS
2024. 4. 29. 17:11
4월 29일(월) - 다이나믹 프로그래밍 (11052번)
최초 생각 정리
문제점
풀이
#define _CRT_SECURE_NO_WARNINGS
#pragma warning(disable: 4996)
#include <stdio.h>
int cards[1001];
int dp[1001];
int MAX(int x, int y)
{
return ((x > y) ? (x) : (y));
}
int main(void)
{
int N;
scanf("%d", &N);
for (int i = 1; i <= N; i++)
{
scanf("%d", &cards[i]);
}
for (int i = 1; i <= N; i++)
{
for (int j = 1; j <= i; j++)
{
dp[i] = MAX(dp[i], dp[i - j] + cards[j]);
}
}
printf("%d", dp[N]);
return 0;
}