-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path2156.java
More file actions
36 lines (25 loc) · 1017 Bytes
/
2156.java
File metadata and controls
36 lines (25 loc) · 1017 Bytes
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
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] arr = new int[n];
for(int i=0; i<n; i++)
arr[i] = sc.nextInt();
int[][][] drink = new int[n][2][2]; // 잔 순서, 이전 잔 시음여부, 지금 잔 시음여부
drink[0][0][1] = arr[0];
drink[0][1][1] = arr[0];
if(n >= 2) {
drink[1][0][1] = arr[1];
drink[1][1][0] = arr[0];
drink[1][1][1] = arr[0]+arr[1];
}
for(int i=2; i<n; i++) {
drink[i][0][0] = Math.max(drink[i-1][0][0], drink[i-1][1][0]);
drink[i][1][0] = Math.max(drink[i-1][0][1], drink[i-1][1][1]);
drink[i][0][1] = Math.max(drink[i-1][0][0], drink[i-1][1][0]) + arr[i];
drink[i][1][1] = drink[i-1][0][1] + arr[i];
}
System.out.println(Math.max(drink[n-1][1][1], Math.max(drink[n-1][0][1], drink[n-1][1][0])));
}
}