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