-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathFARIDA.cpp
52 lines (35 loc) · 900 Bytes
/
FARIDA.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
// AC , ALGO : Simple DP
/* Some Helpful Links :
http://en.wikipedia.org/wiki/Dynamic_programming
http://people.csail.mit.edu/bdean/6.046/dp/
http://www.codechef.com/wiki/tutorial-dynamic-programming
http://www.cs.miami.edu/~burt/learning/Csc517.101/workbook/recurrence_dynprog.html
*/
// For any clarifications, contact me at : [email protected]
#include<cstdio>
#include<algorithm>
typedef long long int_64 ;
using namespace std ;
int main( )
{
int n , i , t , c ;
scanf("%d",&t) ;
for( c = 1 ; c <= t ; c++ )
{
scanf("%d",&n) ;
if( n == 0 )
{
printf("Case %d: 0\n",c) ;
continue ;
}
int_64 a[n] , dp[n] ;
for( i = 0 ; i < n ; i++ )
scanf("%lld",&a[i]) ;
dp[0] = a[0] ;
dp[1] = max( a[0] , a[1] ) ;
for( i = 2 ; i < n ; i++ )
dp[i] = max( a[i] + dp[i-2] , dp[i-1] ) ;
printf("Case %d: %lld\n",c,dp[n-1]) ;
}
return 0 ;
}