子数列的和最大以及对应长度问题 求大神解
输入一个正整数n,表示后面有n个整数,各个整数间以空格相隔。输出最大子数列的和以及它的长度,如果有出现子数列和相同的情况,选择长度最长的那个子数列输出。
![](//img1.sycdn.imooc.com/57f460b80001fb6201000099-100-100.jpg)
忄廿_94
浏览 1333回答 1
1回答
-
Yexiaomo
你的这个题,是 浙大那个第一周的编程作业吧...这个是我 通过的#include <stdio.h>
#define K 100001
int main(){
int n,i,s,S;
int a[K];
scanf("%d", &n);
s= S =0;
for(i = 0; i < n; ++i){
scanf("%d", &a[i]);
s += a[i];
if(s > S)
S = s;
else if(s<0)
s = 0;
}
printf("%d", S);
return 0;
}-----仅供参考, 相信你可以写出来的
打开App,查看更多内容