개인공부/코딩테스트
백준 2156번 : 포도주 시식 / C++
Itsumo
2023. 2. 22. 13:05
2156번: 포도주 시식
효주는 포도주 시식회에 갔다. 그 곳에 갔더니, 테이블 위에 다양한 포도주가 들어있는 포도주 잔이 일렬로 놓여 있었다. 효주는 포도주 시식을 하려고 하는데, 여기에는 다음과 같은 두 가지 규
www.acmicpc.net
계단오르기와 유사한 방법으로 풀이하였다.
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
32
33
34
35
36
37
38
39
40
41
42
43
|
#include <iostream>
using namespace std;
int arr[10003][2];
int main()
{
int max = 0;
int n = 0;
cin >> n;
for (int i = 3; i < n+3; ++i)
{
int wine = 0;
cin >> wine;
arr[i][0] = wine + arr[i - 1][1];
if (arr[i - 2][0] > arr[i - 3][0] && arr[i - 2][0] > arr[i - 2][1])
arr[i][1] = wine + arr[i - 2][0];
else if (arr[i - 3][0] > arr[i - 2][1])
arr[i][1] = wine + arr[i - 3][0];
else
arr[i][1] = wine + arr[i - 2][1];
if (max < arr[i][0])
max = arr[i][0];
if (max < arr[i][1])
max = arr[i][1];
}
cout << max;
return 0;
}
|
cs |