##### Canadian Computing Competition: 2016 Stage 1, Senior #4

Alphonse has rice balls of various sizes in a row. He wants to form the largest rice ball possible for his friend to eat. Alphonse can perform the following operations:

- If two
**adjacent**rice balls have the same size, Alphonse can combine them to make a new rice ball. The new rice ball's size is the sum of the two old rice balls' sizes. It occupies the position in the row previously occupied by the two old rice balls. - If two rice balls have the same size, and there is
**exactly one rice ball between them**, Alphonse can combine all three rice balls to make a new rice ball. (The middle rice ball does not need to have the same size as the other two.) The new rice ball's size is the sum of the three old rice balls' sizes. It occupies the position in the row previously occupied by the three old rice balls.

Alphonse can perform each operation as many times as he wants.

Determine the size of the largest rice ball in the row after performing 0 or more operations.

#### Input Specification

The first line will contain the integer, ().

The next line will contain space separated integers representing the sizes of the riceballs, in order from left to right. Each integer is at least and at most .

- For 1 of the 15 available marks, .
- For an additional 2 of the 15 available marks, .
- For an additional 2 of the 15 available marks, .

#### Output Specification

Output the size of the largest riceball Alphonse can form.

#### Sample Input 1

```
7
47 12 12 3 9 9 3
```

#### Output for Sample Input 1

`48`

#### Explanation for Sample Output 1

One possible set of moves to create a riceball of size `48`

is to combine `12`

and `12`

, forming a riceball of size `24`

. Then, combine `9`

and `9`

to form a riceball of size `18`

. Then, combine `3`

, `18`

and `3`

to form a riceball of size `24`

. Finally, combine the two riceballs of size `24`

to form a riceball of size `48`

.

#### Sample Input 2

```
4
1 2 3 1
```

#### Output for Sample Input 2

`3`

#### Explanation for Output for Sample Input 2

There are no moves to make, thus the largest riceball in the row is size 3.

## Comments

Why? What am I doing wrong? Is anyone else getting this?

your solution has a complexity of , which is theoretically too slow...

that being said, there are other AC solutions, you just need to optimize a bit more

Could someone give me a hint on how to store states?

Use a 2d array of integers

thank you :)