Coding Test - cpp/DP
[백준 2579: 계단 오르기] - C++
에드윈H
2021. 1. 19. 12:46
#include<iostream>
#include<math.h>
#include<algorithm>
using namespace std;
#define MAX 301
int DP[MAX];
int stair[MAX];
int main()
{
int n = 0;;
cin >> n;
for (int i = 0; i < n; i++) cin >> stair[i];
DP[0] = stair[0];
DP[1] = max(stair[1], stair[0] + stair[1]);
DP[2] = max(stair[0] + stair[2], stair[1] + stair[2]);
for (int i = 3; i < n; i++)
{
DP[i] = max(stair[i] + DP[i - 2],
stair[i] + stair[i - 1] + DP[i - 3]);
}
//result
cout << DP[n - 1];
return 0;
}//end of main