FARIDA - Princess Farida

Once upon time there was a cute princess called Farida living in a castle with her father, mother and uncle. On the way to the castle there lived many monsters. Each one of them had some gold coins. Although they are monsters they will not hurt. Instead they will give you the gold coins, but if and only if you didn't take any coins from the monster directly before the current one. To marry princess Farida you have to pass all the monsters and collect as many coins as possible. Given the number of gold coins each monster has, calculate the maximum number of coins you can collect on your way to the castle.


The first line of input contains the number of test cases. Each test case starts with a number N, the number of monsters, 0 <= N <= 10^4. The next line will have N numbers, number of coins each monster has, 0 <= The number of coins with each monster <= 10^9. Monsters described in the order they are encountered on the way to the castle.


For each test case print “Case C: X” without quotes. C is the case number, starting with 1. X is the maximum number of coins you can collect.


1 2 3 4 5

Case 1: 9
Case 2: 10

hide comments
dileep_32: 2021-03-31 15:41:33

got AC in one go after long frustation.

my approach:
first construct your solution using recursion carefully test all cases.
then apply dp.

dashndot_08: 2021-01-28 16:44:49

Please use long long instead of long in C++ while declaring the array.I got so many WA's just because I declared it long!!

saurabh_38: 2021-01-27 06:33:10

test this test case
5 2

lamda_cdm_10: 2021-01-02 15:43:39

Just remember the fact that ' N ' can be 0 too.

karthickshiva: 2020-11-07 09:58:50

For python users:
If n == 0, read an empty line and then continue.

gnuzinhoo: 2020-11-03 18:04:35

For this problem if n = 0 so output: 0

naveen1948: 2020-10-30 07:40:11

Farida is a gold digger be careful about that!!!

harshh3010: 2020-10-07 17:17:53

Use long long int and take care of case when n = 0... Cost me 2 WA

ra_jatt: 2020-10-07 11:16:12

Things to Take care of if you are getting WA:
1) output as in the format given in the question and take care of capital 'C' in "Case".
2) take care of case n==0, seperately.
3) base cases: dp[1]=ar[1] and dp[2]=ar[2].
Now dp[2]=max(dp[1],dp[2]). // I got stuck at this point. Hope it helps!!

wille_25: 2020-10-03 20:59:24

Last edit: 2021-03-09 09:22:08

Added by:hossamyosef
Time limit:1.237s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: ASM64
Resource:FCIS/ASU Local Contest 2013