하다보니
2579번-계단 오르기 본문
#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 |