백준
[2579] 계단 오르기
Jcoder
2018. 8. 3. 20:28
#include <iostream>#define MAX 301using namespace std;int max(int a, int b);int main(){int testcase, i;int dp[MAX], arr[MAX];cin >> testcase;for (i = 0; i < testcase; i++)cin >> arr[i];dp[0] = arr[0];dp[1] = max(arr[0] + arr[1], arr[1]);dp[2] = max(arr[0], arr[1]) + arr[2];for (i = 3; i < testcase; i++)dp[i] = max(dp[i-2] + arr[i], dp[i-3]+arr[i-1] + arr[i]);cout << dp[testcase-1] << endl;return 0;}int max(int a, int b){return (a > b) ? a : b;}