본문 바로가기
Problem Solving/백준

[백준] 11052번 : 카드 구매하기

by shinbian11 2020. 8. 10.

https://www.acmicpc.net/problem/11052

 

11052번: 카드 구매하기

첫째 줄에 민규가 구매하려고 하는 카드의 개수 N이 주어진다. (1 ≤ N ≤ 1,000) 둘째 줄에는 Pi가 P1부터 PN까지 순서대로 주어진다. (1 ≤ Pi ≤ 10,000)

www.acmicpc.net


//C++

#include <bits/stdc++.h>
#define F_I ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define pi 3.1415926535
using namespace std;
typedef long long ll;

int p[1001];
int d[1001];

int main()
{
	F_I;
	int n;
	int ans;
	cin >> n;
	for (int i = 1; i <= n; i++)
		cin >> p[i];
	for (int i = 1; i <= n; i++)
	{
		for (int j = 1; j <= i; j++)
		{
			d[i] = max(d[i - j] + p[j], d[i]);
		}
	}

	cout << d[n] << '\n';
}

 

> d[n] : n개의 카드를 구매하기 위한 최댓값

> d[n] = d[n-i]+p[i]

'Problem Solving > 백준' 카테고리의 다른 글

[백준] 1012번 : 유기농 배추  (0) 2020.08.18
[백준] 12865번 : 평범한 배낭  (0) 2020.08.12
[백준] 16929번 : Two Dots  (0) 2020.08.04
[백준] 10972번 : 다음 순열  (0) 2020.07.16
[백준] 15650번 : N과 M (2)  (0) 2020.07.15