Coding Test - cpp/DP
[백준 2156: 포도주 시식] - C++
에드윈H
2021. 2. 5. 13:49
#include<iostream>
using namespace std;
int arr[10001];
int dp[10001];
#define max(a,b,c) (a > b) ? (a > c) ? a : c : (b > c) ? b : c
int main()
{
int n;
cin >> n;
for (int i = 1; i <= n; i++)
{
cin >> arr[i];
}
dp[1] = arr[1];
dp[2] = arr[1] + arr[2];
for (int i = 3; i <= n; i++)
{
dp[i] = max(dp[i - 1], dp[i - 2] + arr[i], dp[i - 3] + arr[i - 1] + arr[i]);
}
cout << dp[n] << endl;
return 0;
}