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 open a ticket by clicking the "Report an issue" button at the bottom of the page.
Taro and Jiro will play the following game against each other.
Initially, they are given a sequence . Until
becomes empty, the two players perform the following operation alternately, starting from Taro:
- Remove the element at the beginning or the end of
. The player earns
points, where
is the removed element.
Let and
be Taro's and Jiro's total score at the end of the game, respectively. Taro tries to maximize
, while Jiro tries to minimize
.
Assuming that the two players play optimally, find the resulting value of .
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 resulting value of , assuming that the two players play optimally.
Sample Input 1
4
10 80 90 30
Sample Output 1
10
Explanation For Sample 1
The game proceeds as follows when the two players play optimally (the element being removed is written bold):
- Taro: (10, 80, 90, 30) → (10, 80, 90)
- Jiro: (10, 80, 90) → (10, 80)
- Taro: (10, 80) → (10)
- Jiro: (10) → ()
Here, and
.
Sample Input 2
3
10 100 10
Sample Output 2
-80
Explanation For Sample 2
The game proceeds, for example, as follows when the two players play optimally:
- Taro: (10, 100, 10) → (100, 10)
- Jiro: (100, 10) → (10)
- Taro: (10) → ()
Here, and
.
Sample Input 3
1
10
Sample Output 3
10
Sample Input 4
10
1000000000 1 1000000000 1 1000000000 1 1000000000 1 1000000000 1
Sample Output 4
4999999995
Explanation For Sample 4
The answer may not fit into a 32-bit integer type.
Sample Input 5
6
4 2 9 7 1 5
Sample Output 5
2
Explanation For Sample 5
The game proceeds, for example, as follows when the two players play optimally:
- Taro: (4, 2, 9, 7, 1, 5) → (4, 2, 9, 7, 1)
- Jiro: (4, 2, 9, 7, 1) → (2, 9, 7, 1)
- Taro: (2, 9, 7, 1) → (2, 9, 7)
- Jiro: (2, 9, 7) → (2, 9)
- Taro: (2, 9) → (2)
- Jiro: (2) → ()
Here, , and
.
Comments