随机给出一长串排成一行的整数,任意选取某一段连续整数,试问:如何选取才能使这串连续整数最大?
//#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代码有错,有大神可以帮助解决一下吗?
新闻热点
疑难解答