Koala - 2기/B반

[2156번] 포도주 시식

@김유정 2021. 2. 8. 22:11

www.acmicpc.net/problem/2156

 

2156번: 포도주 시식

효주는 포도주 시식회에 갔다. 그 곳에 갔더니, 테이블 위에 다양한 포도주가 들어있는 포도주 잔이 일렬로 놓여 있었다. 효주는 포도주 시식을 하려고 하는데, 여기에는 다음과 같은 두 가지 규

www.acmicpc.net

 

 

 

 

전체 코드

더보기
#include <iostream>
#include <vector>
#include <algorithm>
#include <cstring>
using namespace std;

typedef long long ll;

int n;
vector<int> v;
int dp[10001];

int main() {

	ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);

	memset(dp, 0, sizeof(dp));

	cin >> n;

	v.resize(n + 1);
	for (int i = 1;i <= n;i++) {
		cin >> v[i];
	}

	dp[1] = v[1];
	for (int i = 2;i <= n;i++) {
		if (i == 2) {
			dp[2] = v[1] + v[2];
			continue;
		}
		dp[i] = max(max(dp[i - 1], dp[i - 2] + v[i]), dp[i - 3] + v[i] + v[i - 1]);
	}

	cout << dp[n] << "\n";

	return 0;
}