class Solution {
public:
int FindGreatestSumOfSubArray(vector<int> array) {
int len = array.size();
if (len == 0) return 0;
int res = array[0];
int cur_sum = res;
for (int i = 1; i < len; i++){
if (cur_sum>0){
cur_sum += array[i];
}
else{
cur_sum = array[i];
}
if (cur_sum>res)
res = cur_sum;
}
return res;
}
};