#include <iostream>
#include <climits>
#include <cstdio>
using namespace std;
class Solution {
public:
int maxSubArray(int A[], int n)
{
if(!n) return 0;
int sum=0,maxsum=INT_MIN;
for(int i=0;i<n;i++)
{
sum+=A[i];
maxsum=max(maxsum,sum);
if(sum<0) sum=0;
}
return maxsum;
}
};
int main() {
Solution solver;
int sol[]={-3,-5,-8,-1,-3,-1};
printf("%d\n",solver.maxSubArray(sol,sizeof(sol)/sizeof(int)));
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y2xpbWl0cz4KI2luY2x1ZGUgPGNzdGRpbz4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKY2xhc3MgU29sdXRpb24gewpwdWJsaWM6CiAgICBpbnQgbWF4U3ViQXJyYXkoaW50IEFbXSwgaW50IG4pIAogICAgewogICAgICAgIGlmKCFuKSByZXR1cm4gMDsKICAgICAgICBpbnQgc3VtPTAsbWF4c3VtPUlOVF9NSU47CiAgICAgICAgZm9yKGludCBpPTA7aTxuO2krKykKICAgICAgICB7CiAgICAgICAgICAgIHN1bSs9QVtpXTsKICAgICAgICAgICAgbWF4c3VtPW1heChtYXhzdW0sc3VtKTsKICAgICAgICAgICAgaWYoc3VtPDApICAgc3VtPTA7CiAgICAgICAgfQogICAgICAgIHJldHVybiBtYXhzdW07CiAgICB9Cn07CmludCBtYWluKCkgewoJU29sdXRpb24gc29sdmVyOwoJaW50IHNvbFtdPXstMywtNSwtOCwtMSwtMywtMX07CglwcmludGYoIiVkXG4iLHNvbHZlci5tYXhTdWJBcnJheShzb2wsc2l6ZW9mKHNvbCkvc2l6ZW9mKGludCkpKTsKCXJldHVybiAwOwp9