class Solution {
public:
    int FindGreatestSumOfSubArray(vector<int> array) {
        int m = array[0];
        int b = 0;
       for(int i = 0;i < array.size();i++)
        {
            if(b < 0) b = array[i];
            else b += array[i];
            m = max(m,b); 
        }
        return m;
    }
};