给出一个长度为n 的整数序列A,找出i,j 使得那一段连续数之和最大。 第一行为n第二行为数列
输入样例 6 3 -5 2 4 -1 6 输出样例 11 【参考程序】:
#include<stdio.h> #include<stdlib.h> #include<string.h> long a[11000],s[11000]; int main() { int n,i,j,max; memset(s,0,sizeof(s)); scanf("%d",&n); for (i=1;i<=n;i++) { scanf("%d",&a[i]); s[i]=s[i-1]+a[i]; } max=-0xfffffff; for (i=1;i<=n;i++) for (j=1;j<=n;j++) if (s[j]-s[i]>max) max=s[j]-s[i]; printf("%d\n",max); system("pause"); return 0; }
|