class Solution {
public:
    int FindGreatestSumOfSubArray(vector<int> array) {
        if(array.empty())
            return 0;
        int current_sum=array[0];
        int max_line=array[0];
        for(int i=1;i<array.size();i++){//动态规划
            current_sum+=array[i];//从array[0]开始,遍历array[]
            if(current_sum<array[i])//如果当前子序列之和加上下一个数后没有增加,则该段子序列
                current_sum=array[i];//为一最大连续子序列
            if(current_sum>max_line)//之后继续最大下一子序列的判断
                max_line=current_sum;
        }
        return max_line;
    }
};