首页 > 学院 > 开发设计 > 正文

最大子序列和

2019-11-08 00:42:11
字体:
来源:转载
供稿:网友

       随机给出一长串排成一行的整数,任意选取某一段连续整数,试问:如何选取才能使这串连续整数最大?

//#include <cstdlib>#include <string> //#include <fstream>#include <stdlib.h>using namespace std;#define MAX 100000int 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代码有错,有大神可以帮助解决一下吗?


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表