Baekjoon/DP
[백준 2579] 계단 오르기 (DP) (C/C++)
워니-
2020. 1. 18. 15:00
#include <iostream> #include <algorithm> using namespace std; int N; int arr[310]; int dp[310][3]; int solve(int cnt, int chain) { if(cnt < 1 || chain == 3) { return 0; } else if(cnt == 1) { return arr[cnt]; } if(dp[cnt][chain] != 0) { return dp[cnt][chain]; } dp[cnt][chain] = max(solve(cnt-1, chain+1) + arr[cnt], solve(cnt-2, 1) + arr[cnt]); return dp[cnt][chain]; } int main(void) { // freopen("B2579_input.txt", "r", stdin); cin >> N; for(int i = 1; i <= N; i++) { cin >> arr[i]; } cout << solve(N, 1) << endl; return 0; } | cs |