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