문제 링크 : https://www.acmicpc.net/problem/11052

 알고리즘 

문제는 DP 로 간단하게 해결가능 한 문제이다 ..

 

 

 코드 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include<iostream>
#include<algorithm>
 
using namespace std;
 
int n;
int card[1001];
int dp[10001];
 
int main() {
    cin.tie(NULL);
    ios::sync_with_stdio(false);
 
    cin >> n;
    for (int i = 1; i <= n; i++) {
        dp[i] = 0;
    }
    card[0= 0;
    for (int i = 1; i <= n; i++) {
        cin >> card[i];
        for (int j = i; j <= n; j++) {
            dp[j] = max(dp[j], dp[j - i] + card[i]);
        }
    }
    cout<<dp[n]
}
cs
 

'c++ > 백준' 카테고리의 다른 글

백준 1449: 수리공 항승  (0) 2020.04.02
백준 11057: 오르막수  (0) 2020.04.02
백준 1699번: 제곱수의 합  (0) 2020.03.25
백준 14503번: 로봇 청소기  (0) 2020.03.25
백준 2294번: 동전 2  (0) 2020.03.25
ariz1623