#include<stdio.h> int n, a[10001], dp[10001]; int max(int x, int y) { return x > y ? x : y; } int main() { scanf("%d", &n); for (int i = 1; i <= n; i++) scanf("%d", &a[i]); dp[1] = a[1]; dp[2] = a[1] + a[2]; for (int i = 3; i <= n; i++) { dp[i] = dp[i - 1]; dp[i] = max(dp[i], dp[i - 2] + a[i]); dp[i] = max(dp[i], dp[i - 3] + a[i] + a[i - 1]); } printf("%d", dp[n]); return 0; }
2156번: 포도주 시식
https://www.acmicpc.net/problem/2156
피드 구독하기:
댓글
(
Atom
)
댓글 없음 :
댓글 쓰기