动态规划:求一个序列的最大子序列和

#include <iostream>
using namespace std;
int main()
{
int a[100];
int n;
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i];
int thissum = 0,maxsum = 0;
for(int i=1;i<=n;i++)
{
thissum +=a[i];
if(thissum>maxsum)maxsum = thissum;
else if(thissum<0)thissum = 0;
}
cout<<thissum<<endl;
return 0;
}