int maxSubArray(vector<int>& nums)
{
int n=nums.size();
if(n==1)
return nums[0];
vector<int> pf;
pf.push_back(nums[0]);
for(int i=1;i<n;++i)
pf.push_back(nums[i]+pf[i-1]);
int m = INT_MIN;
int elem = *max_element(pf.begin(),pf.end());
for(int j=0;j<n-1;++j)
{
for(int k=j+1;k<n;++k)
m = max(m,(pf[k]-pf[j]));
}
m = max(m,elem);
int mi = *max_element(nums.begin(),nums.end());
cout<<m<<" "<<mi;
if(mi>m)
return mi;
else return m;
}
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter