시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
2 초 512 MB 199 74 62 35.632%

문제

욱제는 🎄포화이진트리🎄를 종이에 그렸다. 노드에 정수 가중치도 채워 넣었다. 욱제는 적당한 직사각형 영역을 잡아서, 영역 내에 있는 노드들의 가중치 합을 최대로 하고 싶다. 직사각형은 하나 이상의 노드를 포함해야 하고 직사각형은 비뚤어지면 안 된다.

문제에서 생략된 정의는 다음과 같다. 이해가 안 되면 읽어보자.

  1. 직사각형은 축에 평행하며, 변이 노드에 걸치면 안 된다.
  2. 모든 노드 u에 대해, u의 왼쪽 서브 트리에 속하는 모든 노드의 x좌표는, ux좌표보다 작다.
  3. 모든 노드 u에 대해, u의 오른쪽 서브 트리에 속하는 모든 노드의 x좌표는, ux좌표보다 크다.
  4. 자식 노드의 y좌표는 부모 노드의 y좌표보다 작다.
  5. 트리에서의 깊이가 같은 노드의 y좌표는 모두 같다.

입력

첫째 줄에 노드 개수 N이 주어진다. (1 ≤ N ≤ 262,143, N은 2k-1 꼴의 자연수)

둘째 줄에 노드의 가중치 Wi가 노드 번호 순서대로 주어진다. (-109 ≤ Wi ≤ 109)

루트 노드의 번호는 1이고, i번 노드의 좌우 자식 노드의 번호는 각각 2×i, 2×i+1이다.

출력

욱제가 얻을 수 있는 가중치의 최대 합을 출력한다.

예제 입력 1

15
-2 8 -3 -9 0 -6 3 4 -1 10 -1 7 -100 7 -1

예제 출력 1

24

문제 설명의 그림과 같다.

예제 입력 2

7
10 -15 -1 4 3 -7 9

예제 출력 2

14

출처

Contest > Good Bye, BOJ > Good Bye, BOJ 2019! E번

  • 문제를 만든 사람: wookje