#include <iostream>
#include <algorithm>
#include "string"
#include "vector"
#include "stack"
using namespace std;
int maxSubArray(vector<int>& nums)
{
int sumMax = nums[0];
int sum = 0;
for (int i:nums)
{
if (sum > 0)
sum += i;
else
sum = i;
sumMax = max(sumMax, sum);
}
return sumMax;
}
int main()
{
vector<int>v;
v.push_back(-2);
v.push_back(1);
v.push_back(-3);
v.push_back(4);
v.push_back(-1);
v.push_back(2);
v.push_back(1);
v.push_back(-5);
v.push_back(4);
cout << maxSubArray(v) << endl;
system("pause");
return 0;
}