题解 | #连续最大和#

连续最大和

http://www.nowcoder.com/practice/5a304c109a544aef9b583dce23f5f5db

#include<bits/stdc++.h>

using namespace std;
int main()
{
    int n;
    while(cin>>n)
    {
        vector<int>nums;
        int tmp;
        for(int i=0;i<n;i++)
        {
            cin>>tmp;
            nums.push_back(tmp);
        }
        
        vector<int>dp(n);
        int max_val=nums[0];
        dp[0]=nums[0];
        for(int i=0;i<n;i++)
        {
            dp[i]=max(dp[i-1]+nums[i], nums[i]);
            max_val=max(max_val, dp[i]);
        }
        cout<<max_val<<endl;
    }
    return 0;
}
全部评论

相关推荐

点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 1 评论
分享
牛客网
牛客企业服务