public class Solution {
public int FindGreatestSumOfSubArray(int[] array) {
int[][] dp = new int[array.length][array.length];
int sum = 0;
for(int i=0; i<array.length; i++){
sum = sum+array[i];
dp[0][i] = sum;
dp[i][i] = array[i];
}
for(int i=1; i<array.length; i++){
for(int j=i+1; j<array.length; j++){
dp[i][j] = array[j]+dp[i][j-1];
}
}
int max = dp[0][0];
for(int i=0; i<array.length; i++){
for(int j=i; j<array.length; j++){
max = Math.max(max,dp[i][j]);
}
}
return max;
}
}