Skip to content

Commit 7150313

Browse files
committed
FARIDA - Princess Farida
1 parent 615d10a commit 7150313

File tree

1 file changed

+50
-0
lines changed

1 file changed

+50
-0
lines changed

SPOJ/FARIDA.cpp

+50
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
/* Amit Bansal - @amitbansal7 */
2+
#include <bits/stdc++.h>
3+
#include <string>
4+
#define lli long long int
5+
#define llu unsigned long long int
6+
#define S(x) scanf("%d",&x)
7+
#define Sl(x) scanf("%lld",&x)
8+
#define Mset(p,i) memset(p,i,sizeof(p))
9+
#define mlc(t,n) (t *)malloc(sizeof(t)*n)
10+
#define NIL -1
11+
#define INF 0x3f3f3f3f
12+
#define TC int testcase; S(testcase); while(testcase--)
13+
#define Pi 3.14159
14+
using namespace std;
15+
16+
lli DP[2][10001];
17+
lli A[10001];
18+
lli solve(int lh,int i)
19+
{
20+
if(DP[lh][i] != -1)
21+
return DP[lh][i];
22+
23+
if(i < 1)
24+
DP[lh][i] = 0;
25+
26+
else if(lh)
27+
DP[lh][i] = solve(0,i-1);
28+
29+
else if(!lh)
30+
DP[lh][i] = max(A[i-1] + solve(1,i-1),solve(0,i-1));
31+
32+
return DP[lh][i];
33+
}
34+
35+
int main()
36+
{
37+
int test;
38+
S(test);
39+
for(int t = 0 ;t<test;t++)
40+
{
41+
int n;
42+
S(n);
43+
Mset(DP,-1);
44+
for(int i=0;i<n;i++)
45+
Sl(A[i]);
46+
47+
printf("Case %d: %lld\n",t+1,solve(0,n));
48+
}
49+
return 0;
50+
}

0 commit comments

Comments
 (0)