## Slimes

View as PDF

Points: 12 (partial)
Time limit: 1.0s
Memory limit: 512M

Problem type
Allowed languages
Ada, Assembly, Awk, Brain****, C, C#, C++, COBOL, CommonLisp, D, Dart, F#, Forth, Fortran, Go, Groovy, Haskell, Intercal, Java, JS, Kotlin, Lisp, Lua, Nim, ObjC, OCaml, Octave, Pascal, Perl, PHP, Pike, Prolog, Python, Racket, Ruby, Rust, Scala, Scheme, Sed, Swift, TCL, Text, Turing, VB, Zig

These problems are from the atcoder DP contest, and were transferred onto DMOJ. All problem statements were made by several atcoder users. As there is no access to the test data, all data is randomly generated. If there are issues with the statement or data, please contact Rimuru or Ninjaclasher on slack.

There are slimes lining up in a row. Initially, the -th slime from the left has a size of .

Taro is trying to combine all the slimes into a larger slime. He will perform the following operation repeatedly until there is only one slime:

• Choose two adjacent slimes, and combine them into a new slime. The new slime has a size of , where and are the sizes of the slimes before combining them. Here, a cost of is incurred. The positional relationship of the slimes does not change while combining slimes.

Find the minimum possible total cost incurred.

#### Constraints

• All values in input are integers.

#### Input Specification

The first line will contain the integer .

The next line will contain integers, .

#### Output Specification

Print the minimum possible total cost incurred.

Note: The answer may not fit into a 32-bit integer type.

#### Sample Input 1

4
10 20 30 40

#### Sample Output 1

190

#### Explanation For Sample 1

Taro should do as follows (slimes being combined are shown in bold):

• (10, 20, 30, 40) (30, 30, 40)
• (30, 30, 40) (60, 40)
• (60, 40) (100)

#### Sample Input 2

5
10 10 10 10 10

#### Sample Output 2

120

#### Explanation For Sample 2

Taro should do, for example, as follows:

• (10, 10, 10, 10, 10) (20, 10, 10, 10)
• (20, 10, 10, 10) (20, 20, 10)
• (20, 20, 10) (20, 30)
• (20, 30) (50)

#### Sample Input 3

3
1000000000 1000000000 1000000000

#### Sample Output 3

5000000000

#### Sample Input 4

6
7 6 8 6 1 1

#### Sample Output 4

68

#### Explanation For Sample 4

Taro should do, for example, as follows:

• (7, 6, 8, 6, 1, 1) (7, 6, 8, 6, 2)
• (7, 6, 8, 6, 2) (7, 6, 8, 8)
• (7, 6, 8, 8) (13, 8, 8)
• (13, 8, 8) (13, 16)
• (13, 16) (29)