Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Main {
- public static void main(String[] args) {
- int a[] = {1,2,3,7,4,8,1,8,1,9,10,2,5,2,3};
- int sum = 0;
- for (int i=0;i<a.length; i++) {
- sum += a[i];
- }
- System.out.println(maxPlayer1(a, 0, sum, 0, a.length));
- }
- public static int maxPlayer1(int[] a, int currSum, int sum, int start, int len) {
- if (len-start <=3) {
- int val = 0;
- for (int i=start; i<len; i++) {
- val += a[i];
- }
- return val;
- }
- int v1 = a[start] + (sum - currSum - a[start]) -
- maxPlayer1(a, currSum + a[start], sum, start + 1, a.length);
- int v2 = a[start] + a[start+1] + (sum - currSum - a[start] - a[start+1]) -
- maxPlayer1(a, currSum + a[start] + a[start+1], sum, start + 2, a.length);
- int v3 = a[start] + a[start+1] + a[start+2] + (sum - currSum - a[start] - a[start+1] - a[start+2]) -
- maxPlayer1(a, currSum + a[start] + a[start+1] + a[start+2], sum, start + 3, a.length);
- return Math.max(v1, Math.max(v2, v3));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement