문제

문제 링크

어떻게 접근할 것인가

  • 순차적으로 해당 카드 개수를 사기 위해 필요한 맥스값을 찾아주고 그 값을 이용해서 계속해서 업데이트해간다.

코드

#include <cstdio>

int n, p[10001];

int main(){
    scanf("%d", &n);
    for(int i = 1; i < n + 1; i++) scanf("%d", &p[i]);
    for(int i = 2; i < n + 1; i++){
        for(int j = 1; j < i; j++){
            if(p[j] + p[i-j] > p[i])p[i] = p[j] + p[i-j];
        }
    }
    printf("%d", p[n]);
}

느낀점

  • 아이디어가 좋아따!