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
Krishna Nakkeeran:
2014-03-22 05:57:23
some more test cases please..
|
|
[themighty] deathsurgeon:
2014-02-09 09:33:20
Thank you... That is exactly what I need to know. Last edit: 2014-02-09 10:05:22 |
|
Bhavik:
2014-02-09 07:51:58
@The Mighty: I can not give you spoilers, but the smart guy will ensure to minimize the maximum possible score of player 1...so kindly figure it out yourself from here.. |
|
[themighty] deathsurgeon:
2014-02-08 15:52:57
Is there a condition, that the smart guy chooses only the highest of the two choices or does he analize the impact of his choice on the next moves?
|
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) |