설명
정렬된 \(N\)개의 키가 있고, 키 \(i\)는 빈도 \(f_i\)로 검색된다. 이 키들로 이진 탐색 트리를 만든다. 트리의 비용은 \(\sum_i f_i \cdot (\text{키 } i \text{의 깊이})\)이며, 루트의 깊이는 \(1\)이다. 모든 이진 탐색 트리에 대해 가능한 최소 비용을 구하시오.
제약
입력 형식
첫 줄에 \(N\) (\(1 \le N \le 60\))이 주어진다. 둘째 줄에 키 순서대로 \(N\)개의 정수 \(f_i\) (\(1 \le f_i \le 1000\))가 주어진다.
출력 형식
최적 이진 탐색 트리의 최소 비용을 출력한다.
예제 1
입력
3
10 12 20
출력
72
예제 2
입력
3
34 8 50
출력
142
예제 3
입력
1
5
출력
5
문제 정보
riseoj 작성
출처 RiseOJ Basics
태그