public class demo55 {
public static int maxSubArray(int[] nums) {
int[][] p = new int[nums.length][nums.length];
int k = nums[0];
for (int i = 0; i < p.length; i++) {
for (int j = 0; j < p[i].length; j++) {
if (i > j) {
p[i][j] = 0;
continue;
}
if (i == j) {
p[i][j] = nums[j];
k = Math.max(k, p[i][j]);
continue;
}
p[i][j] = p[i][j - 1] + nums[j];
k = Math.max(k, p[i][j]);
}
}
return k;
}
public static void main(String[] args) {
int[] nums = {-100, -100, -16, -97, -67, -16, -3,
-59, -21, -20, -65, -33, -79, -43, -17, -3, -89,
-59, -70, -73, -16, -34, -39, -57, -34, -99, -4,
-41, -37, -32, -13, -93, -21, -69, -76, -4, -34,
-4, -91, -20, -94, -43, -50, -49, -18, -2, -87,
-8, -79, -43, -3, -96, -92, -70, -97, -99, -1,
-70, -74, -75, -84, -25, -87, -48, -15, -26, -99,
-61, -94, -51, -59, -95, -48, -55, -7, -1, -57,
-62, -24, -55, -36, -60, -55, -48, -43, -98,
-92, -47, -20, -38, -98, -25, -99, -13, -70,
-44, -94, -25, -4, -18};
System.out.println(maxSubArray(nums));
}
}