VioletaBabel
2156번: 포도주 시식 (실패) 본문
#include<cstdio>
#define max(a,b) (a>b)?a:b
int alc[10001][3];
int main()
{
int t, n, now, m;
scanf("%d %d", &n, &alc[1][0]);
alc[1][1] = alc[1][0];
m = alc[1][0];
for (int i = 2; i <= n; ++i)
{
scanf("%d", &now);
alc[i][0] = alc[i - 1][2] + now;
alc[i][1] = alc[i - 1][0] + now;
alc[i][2] = alc[i - 1][1];
m = max(m, (max(alc[i][0], (max(alc[i][1], alc[i][2])))));
}
printf("%d\n", m);
}
// 다음에 다시! 2156 포도주시식
/*
6 10 13 9 8 1
(이 앞까지 연속으로 마신게)
(0/1/2)
6 / 6 / 0
10 / 16 / 6
19 / 23 / 16
25 / 28 / 23
31 / 33 / 28
29 / 32 / 33
1000 900 2 1 800 700
(0/1/2)
1000 / 1000 / 0
900 / 1900 / 1000
1002 / 902 / 1900
1901 / 1003 / 902
1702 / 2701 / 1003
1703 / 2402 / 2701
//1000, 900, 800, 700 해서 3400 나와야함
*/
'백준 > 백준-C++' 카테고리의 다른 글
| 2667번: 단지번호붙이기 (0) | 2017.06.09 |
|---|---|
| 1260번: DFS와 BFS (0) | 2017.06.09 |
| 2193번: 이친수 (0) | 2017.06.06 |
| 11057번: 오르막 수 (0) | 2017.06.06 |
| 10844번: 쉬운 계단 수 (0) | 2017.06.06 |
Comments