随机给出一长串排成一行的整数,任意选取某一段连续整数,试问:如何选取才能使这串连续整数最大?
//#include <cstdlib>
#include <string>
//#include <fstream>
#include <stdlib.h>
using namespace std;
#define MAX 100000
int n,i,j,k,maxn,sum,a[MAX+1];
int main(int argc, char** argv) {
freopen("d://number.in.txt","r",stdin);
freopen("d://number.out.txt","w",stdout);
cin>>n;
for(i=1;i<=n;i++)
{
cin>>a[i];
}
maxn=a[1];
for(i=1;i<=n;i++)
{
for(j=i;j<=n;j++)
{
sum=0;
for(k=i;k<=j;k++)
{
sum=sum+a[k];
if(sum>maxn)
{
maxn=sum;
}
}
}
}
cout<<maxn<<endl;
return 0;
}
ps:d代码有错,有大神可以帮助解决一下吗?