/*
NYoj 44 子串和
经典的动态规划(就且成之为经典动态规划2)
*/
#include<iostream>
#define max(a,b) a>b?a:b
using namespace std;
int a[1000005],dp[1000005];//dp存储的是当前数值最优和.也就是最优解.
int MAX(int n)
{
dp[1]=a[1];
int Max=dp[1];
for(int i=2;i<=n;i++)
{
dp[i]=max(dp[i-1]+a[i],a[i]);
Max=max(dp[i],Max);
}
return Max;
}
int main()
{
int T;
cin>>T;
while(T--)
{
int n;
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i];
cout<<MAX(n)<<endl;
}
}
NYoj 44 子串和[经典动态规划2]
最新推荐文章于 2019-10-09 22:10:39 发布