File tree 1 file changed +50
-0
lines changed
1 file changed +50
-0
lines changed Original file line number Diff line number Diff line change
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
+ }
You can’t perform that action at this time.
0 commit comments