最大子段和问题——动态规划

最大子段和问题——动态规划_第1张图片
最大子段和问题——动态规划_第2张图片

#include 
#include 
using namespace std;
#define MAX 1001
int a[MAX];
int main()
{
     

    int n;
    cin >> n;
    for(int i = 1;i <= n;i++){
     
        cin >> a[i];
    }
    int dp[n+1];
    int res = 0;
    for(int i = 1;i <= n;i++){
     
        dp[i] = max(dp[i-1]+a[i],a[i]);
        res = max(res,dp[i]);
    }
    cout << res << endl;
    return 0;
}

你可能感兴趣的:(算法学习)