/**
* @requires_authorization
* @author johnsondu
* @time 2015-8-22
* @type Simple dynamic programming
* @url https://leetcode.com/problems/maximum-subarray/
*/
class Solution {
public:
int maxSubArray(vector<int>& nums) {
int len = nums.size();
int ans = nums[0];
int cnt = 0;
for(int i = 0; i < len; i ++) {
cnt += nums[i];
ans = max(ans, cnt);
if(cnt < 0) cnt = 0;
}
return ans;
}
};