CODEM4 - Problem4


"Roadies" is back!!! In India, "Roadies" is a reality based tv show and is very popular among the youth.

This time to get selected into "Roadies" they challenge you to solve the given problem... if you can solve it you will be selected!

Challenge is as follows: Suppose you are given an array with even number of integers. Player 1 and player 2 take turns to pick numbers, either the left-most element or the right-most element. You have to find the maximum possible score (sum of numbers chosen) by player 1. Assume player 1 always starts the game and plays optimally.

Note: when an element is picked it is removed from the array.

But as usual this is "Roadies" hence cometh the twist. It is not known whether the second player is dumb or smart. As you know result will be different if player 2 is either dumb or smart.

NOTE: when player 2 plays like a dumb there is no fixed strategy of how he would choose the numbers i.e. he would choose the number either from start or end of an array without thinking... so there can be multiple answers possible when player 2 plays like a dumb...

So you have to tell the maximum possible score of player 1 when player 2 plays dumb and smart.

Input

T: number of test cases (t < 20).

For eact case two lines follow, first line contains the size of array (<= 30) and next line contains the elements of the array.

Output

For each case print in new line two space separated integers: score when player 2 is dumb and score when player 2 is smart.

Input:
2
4
5 8 4 2
4
8 5 4 2

Output:
13 10
13 12

NOTE: All values will fit in int type.

Explanation: In first test case (when player 2 is dumb) then player 1 first chooses 5 then player 2 can choose 8 or 2 but chooses 2. so now player 1 can choose either 8 or 4 so chooses 8. Hence total score is 13. 

(when player 2 is smart) player 1 can choose 5 or 2 but chooses 2 (so that player 2 cannot choose 8 in his turn) so now player 2 can choose 5 or 4. Irrespective of what player 2 chooses player 1 will have option to choose 8 in his next turn hence total (8 + 2) = 10.


hide comments
shahzada: 2017-03-15 16:32:59

should be moved to tutorial.

blackbitch_48: 2017-03-14 08:56:05

1
5
34 45 1 3 5
for this test case, shouldn't the answer be
84 40
spot toolkit shows
82 40

when the 2nd player is dumb
p1:5
p2:3
p1:34
p2:1
p1:45
p1=5+34+45=84

Last edit: 2017-03-14 08:56:37
holmesherlock: 2017-03-06 19:47:06

simple recursion based problem

sarthakshah30: 2017-02-14 21:20:20

minimax algorithm

Int is sufficient.

Last edit: 2017-02-14 21:23:14
Dushyant Singh: 2016-12-02 10:53:56

int is sufficient

sieunhanbom04: 2016-08-04 17:19:54

O(n^2). Why t <=30 I wonder?

khanhpqbk: 2016-07-06 16:50:26

@kejriwal: YOU are right when player 2 is dumb. i have tried exhaustive search and result in the same answer as yours

:.Mohib.:: 2016-03-08 19:22:34

Nice one!!

Ankit Sultana: 2016-02-17 19:15:33

Changed to Long Long and AC.
PS: Ashish Khurange's test case is wrong, there can't be odd number of numbers.
PPS: Answer for Kejriwal's case is 257 213

kartikay singh: 2016-01-21 22:01:52

Easy but dp :P :-)


Added by:Bhavik
Date:2014-02-04
Time limit:8.846s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: ASM64
Resource:own problem(for CODE MARATHON)