https://github.com/o920/baekjoon/blob/master/2156.cpp
전에 풀었던 계단문제랑 너무 똑같아서 똑같이 품
다른 점은 계단 문제에는 연속 두번 건너뛸 수 없다는 거고
이번에는 연속 두번 건너뛸 수가 있음
그래서 한가지 경우의 수를 더 추가해주면 됨
#include <iostream>
#include <algorithm>
using namespace std;
int dp[10003] = { 0, };
int q[10003];
int main() {
int n;
cin >> n;
for (int i = 3; i < n+3; i++)cin >> q[i];
for (int i = 3; i < n + 3; i++) {
dp[i] = max(dp[i-1], q[i] + max(q[i - 1] + dp[i - 3], dp[i - 2]));
}
cout << dp[n+2] << endl;
}
'코테' 카테고리의 다른 글
백준 11054 : 가장 긴 바이토닉 부분 수열 C++ 정답&해설 (0) | 2020.03.17 |
---|---|
백준 11650 좌표 정렬하기 c++ 정답 (pair 사용) (0) | 2020.03.12 |
백준 2231 : 분해합 C++ 정답 (0) | 2020.03.10 |
백준BOJ 1920 수 찾기(해시 이용, 코드 설명) (0) | 2020.03.04 |
백준BOJ 10844 쉬운 계단 수 (0) | 2020.03.02 |