본문 바로가기
백준

[2579] 계단 오르기

by Jcoder 2018. 8. 3.


#include <iostream>
#define MAX 301
using 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;
}


'백준' 카테고리의 다른 글

[2293] 동전 1  (0) 2018.08.03
[1463] 1로 만들기  (0) 2018.08.03
[1932] 정수 삼각형  (0) 2018.08.03
[1149] RGB거리  (0) 2018.08.03
[10872] 팩토리얼  (0) 2018.07.23