티스토리 뷰

#include <iostream>

using namespace std;

int d[10001];

int a[10001];

int main(void) {

// d[n]은 n개의 잔이 있을 때, 가장 많이 마시는 양

int n;

cin >> n;

for (int i = 1; i <= n; i++) {

cin >> a[i];

}


d[1] = a[1];

d[2] = a[1] + a[2];

for (int i = 3; i <= n; i++) {

d[i] = d[i - 1]; // 마지막 잔을 안마신 경우

if (d[i] < a[i] + a[i - 1] + d[i - 3]) // 마지막 잔을 2연속으로 먹은 경우

d[i] = a[i] + a[i - 1] + d[i - 3];

if (d[i] < a[i] + d[i - 2]) // 마지막 잔을 1연속으로 먹은 경우

d[i] = a[i] + d[i - 2];

}


cout << d[n] << endl;

return 0;

}

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함