https://www.acmicpc.net/problem/2156
๋ฌธ์
ํจ์ฃผ๋ ํฌ๋์ฃผ ์์ํ์ ๊ฐ๋ค. ๊ทธ ๊ณณ์ ๊ฐ๋๋, ํ ์ด๋ธ ์์ ๋ค์ํ ํฌ๋์ฃผ๊ฐ ๋ค์ด์๋ ํฌ๋์ฃผ ์์ด ์ผ๋ ฌ๋ก ๋์ฌ ์์๋ค. ํจ์ฃผ๋ ํฌ๋์ฃผ ์์์ ํ๋ ค๊ณ ํ๋๋ฐ, ์ฌ๊ธฐ์๋ ๋ค์๊ณผ ๊ฐ์ ๋ ๊ฐ์ง ๊ท์น์ด ์๋ค.
- ํฌ๋์ฃผ ์์ ์ ํํ๋ฉด ๊ทธ ์์ ๋ค์ด์๋ ํฌ๋์ฃผ๋ ๋ชจ๋ ๋ง์ ์ผ ํ๊ณ , ๋ง์ ํ์๋ ์๋ ์์น์ ๋ค์ ๋์์ผ ํ๋ค.
- ์ฐ์์ผ๋ก ๋์ฌ ์๋ 3์์ ๋ชจ๋ ๋ง์ค ์๋ ์๋ค.
ํจ์ฃผ๋ ๋ ์ ์๋ ๋๋ก ๋ง์ ์์ ํฌ๋์ฃผ๋ฅผ ๋ง๋ณด๊ธฐ ์ํด์ ์ด๋ค ํฌ๋์ฃผ ์์ ์ ํํด์ผ ํ ์ง ๊ณ ๋ฏผํ๊ณ ์๋ค. 1๋ถํฐ n๊น์ง์ ๋ฒํธ๊ฐ ๋ถ์ด ์๋ n๊ฐ์ ํฌ๋์ฃผ ์์ด ์์๋๋ก ํ ์ด๋ธ ์์ ๋์ฌ ์๊ณ , ๊ฐ ํฌ๋์ฃผ ์์ ๋ค์ด์๋ ํฌ๋์ฃผ์ ์์ด ์ฃผ์ด์ก์ ๋, ํจ์ฃผ๋ฅผ ๋์ ๊ฐ์ฅ ๋ง์ ์์ ํฌ๋์ฃผ๋ฅผ ๋ง์ค ์ ์๋๋ก ํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์๋ฅผ ๋ค์ด 6๊ฐ์ ํฌ๋์ฃผ ์์ด ์๊ณ , ๊ฐ๊ฐ์ ์์ ์์๋๋ก 6, 10, 13, 9, 8, 1 ๋งํผ์ ํฌ๋์ฃผ๊ฐ ๋ค์ด ์์ ๋, ์ฒซ ๋ฒ์งธ, ๋ ๋ฒ์งธ, ๋ค ๋ฒ์งธ, ๋ค์ฏ ๋ฒ์งธ ํฌ๋์ฃผ ์์ ์ ํํ๋ฉด ์ด ํฌ๋์ฃผ ์์ด 33์ผ๋ก ์ต๋๋ก ๋ง์ค ์ ์๋ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ํฌ๋์ฃผ ์์ ๊ฐ์ n์ด ์ฃผ์ด์ง๋ค. (1 ≤ n ≤ 10,000) ๋์งธ ์ค๋ถํฐ n+1๋ฒ์งธ ์ค๊น์ง ํฌ๋์ฃผ ์์ ๋ค์ด์๋ ํฌ๋์ฃผ์ ์์ด ์์๋๋ก ์ฃผ์ด์ง๋ค. ํฌ๋์ฃผ์ ์์ 1,000 ์ดํ์ ์์ด ์๋ ์ ์์ด๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ ์ต๋๋ก ๋ง์ค ์ ์๋ ํฌ๋์ฃผ์ ์์ ์ถ๋ ฅํ๋ค.
ํ์ด
[๐ฒ Altu-Bitu/0927 ๋์ ๊ณํ๋ฒ] - [BOJ][C++] ๋ฐฑ์ค 2579๋ฒ: ๊ณ๋จ ์ค๋ฅด๊ธฐ
์ ๋ฌธ์ ์ ๊ฑฐ์ ๋์ผํ๋ฐ, ๋ง์ง๋ง๊ณ๋จ์ ๊ผญ ๋ฐ์์ผํ๋ค๋ ์กฐ๊ฑด๋ง ์ ์ธํ๋ค.
๋ฐ๋ณต๋ฌธ์ ๋๋ฆด ๋ ํ์ฌ ํฌ๋์ฃผ๋ฅผ ๋ง์ ๋ฒ์ ๊ณผ ๋ง์์ง ์์ ๋ฒ์ ๋๊ฐ์ง๋ฅผ ๋น๊ตํ๋ ์ฝ๋๋ฅผ ์ถ๊ฐํด์ผํ๋ค.
dp[i] = max(dp[i-1], dp[i]);
// Authored by : seondal
// Co-authored by : -
// #include <bits/stdc++.h>
#include <iostream>
#include <vector>
#include <deque>
using namespace std;
int maxWine(int n, vector<int>&wine) {
vector<int> dp(n,0);
dp[0] = wine[0];
dp[1] = wine[0] + wine[1];
for(int i=2; i<n; i++) {
dp[i] = max(dp[i-2], dp[i-3]+wine[i-1]) + wine[i];
dp[i] = max(dp[i-1], dp[i]);
}
return dp[n-1];
}
int main() {
int n;
cin >> n;
vector<int> wine(n,0);
for(int i=0; i<n; i++)
cin >> wine[i];
cout << maxWine(n, wine);
return 0;
}
/*
*/
'๐๏ธ ICPC Sinchon > Dynamic Programming' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BOJ][C++] ๋ฐฑ์ค 1149๋ฒ: RGB๊ฑฐ๋ฆฌ (0) | 2023.01.30 |
---|---|
[BOJ][C++] ๋ฐฑ์ค 2748๋ฒ: ํผ๋ณด๋์น ์ 2 (0) | 2023.01.30 |
[BOJ S2][C++] ๋ฐฑ์ค 11053๋ฒ: ๊ฐ์ฅ ๊ธด ์ฆ๊ฐํ๋ ๋ถ๋ถ ์์ด (0) | 2022.09.28 |
[BOJ S2][C++] ๋ฐฑ์ค 11048๋ฒ: ์ด๋ํ๊ธฐ (0) | 2022.09.27 |
[BOJ][C++] ๋ฐฑ์ค 12865๋ฒ: ํ๋ฒํ ๋ฐฐ๋ญ (0) | 2022.09.27 |