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