编辑代码

#include <iostream>
using namespace std;
void maxsum(int a[],int n){
    int b[n];
    int sum=0;
    b[0]=a[0];
    for(int i=1;i<n;i++){
        if(b[i-1]>0){
            b[i]=b[i-1]+a[i];
        }
        else{
            b[i]=a[i];
        }
    }
    for(int j=0;j<n;j++){
        if(b[j]>sum){
            sum=b[j];
        }
    }
   cout<<"动态规划法:最大子段和为:"<<sum<<endl;
}
int main() {
    int a[6]={-5,3,-4,9,-1,6};
    maxsum(a,6);
	return 0;
}