#include<stdio.h> const int MAX_N = 300; int n, s[MAX_N]; int a[MAX_N], b[MAX_N]; int max(int x, int y) { return x>y ? x : y; } int main() { int i; scanf("%d", &n); for (i = 0; i<n; i++) scanf("%d", &s[i]); a[0] = s[0]; a[1] = s[1]; b[1] = s[0] + s[1]; for (i = 2; i<n; i++) { a[i] = max(a[i - 2], b[i - 2]) + s[i]; b[i] = a[i - 1] + s[i]; } printf("%d", max(a[n - 1], b[n - 1])); return 0; }
2579번: 계단 오르기
https://www.acmicpc.net/problem/2579
피드 구독하기:
댓글
(
Atom
)
댓글 없음 :
댓글 쓰기