하다보니

2579번-계단 오르기 본문

알고리즘 풀이/백준

2579번-계단 오르기

claire 2022. 3. 12. 21:47

#include<iostream>
#include<algorithm>
using namespace std;

int s[305];
int d[305][3];

int main() {
	ios::sync_with_stdio(0);
	cin.tie(0);
	int n;
	cin >> n;
	for (int i = 1; i <= n; i++)cin >> s[i];

	d[1][1] = s[1];
	d[1][2] = 0;
	d[2][1] = s[2];
	d[2][2] = s[1] + s[2];
	if (n == 1) {
		cout << s[1];
		return 0;
	}
	for (int i = 3; i <= n; i++) {
		d[i][1] = max(d[i - 2][1], d[i - 2][2]) + s[i];
		d[i][2] = d[i - 1][1] + s[i];
	}
	cout << max(d[n][1], d[n][2]);
}

'알고리즘 풀이 > 백준' 카테고리의 다른 글

20055번-컨베이어 벨트 위의 로봇  (0) 2022.03.27
2206번-벽 부수고 이동하기  (0) 2022.03.17
9095번-1,2,3 더하기  (0) 2022.03.12
1463번 - 1로 만들기  (0) 2022.03.12
1941번-소문난 칠공주  (0) 2022.03.11