dp练习 51nod1049最大字段和

 注意初始化

#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int maxn = 5e4+4;
ll a[maxn];
int n;
ll dp[maxn];
ll ans;
int main()
{
	scanf("%d",&n);
	bool flag = false;
	for(int i = 0; i <n; i++) {
		scanf("%lld",&a[i]);
		if(a[i]>=0) flag =true;
	} dp[0]=a[0];
	for(int i = 1; i<n; i++){
		dp[i] = max(a[i],dp[i-1]+a[i]);
		ans = max(ans,dp[i]);
	}
	if(flag) printf("%lld\n",ans);
	else printf("0\n");
}

猜你喜欢

转载自blog.csdn.net/qq_41156122/article/details/81273098