nyoj 44 子串和
2016-05-01 20:36
417 查看
子串和
时间限制:5000 ms | 内存限制:65535 KB难度:3
描述给定一整型数列{a1,a2...,an},找出连续非空子串{ax,ax+1,...,ay},使得该子序列的和最大,其中,1<=x<=y<=n。
输入第一行是一个整数N(N<=10)表示测试数据的组数)
每组测试数据的第一行是一个整数n表示序列中共有n个整数,随后的一行里有n个整数I(-100=<I<=100),表示数列中的所有元素。(0<n<=1000000)
输出对于每组测试数据输出和最大的连续子串的和。
样例输入
1 5 1 2 -1 3 -2
样例输出
5
<span style="color:#009900;"> </span>
<pre name="code" class="cpp"><span style="color:#009900;">#include<stdio.h> int a[1000005]; int main(){ int n,m; scanf("%d",&n); while(n--){ scanf("%d",&m); int max=-100; a[0]=max; for(int i=1;i<=m;i++){ scanf("%d",&a[i]); if(a[i-1]>0)//当a[i-1]>0时,不断累加a[i]的值 a[i]=a[i]+a[i-1]; if(a[i]>max)//当a[i]大于max使更新最大值max max=a[i]; } printf("%d\n",max); } } </span>
<span style="color:#009900;"> </span>
</pre><br />
相关文章推荐
- Google机器学习教程心得(二)决策树与可视化
- 20145216史婧瑶《Java程序设计》第9周学习总结
- storm启动遇到问题storm expected <block end>, but found BlockMappingStart in 'reader', line 23, column 2:
- 简单的文本处理
- unity3d圆形空气墙,行动边界的实现
- 面试1——TCP和UDP区别
- Linux内核学习总结
- 20145216史婧瑶《Java程序设计》第9周学习总结
- RxJava之Subject
- 搭建环境
- 学习Linux内核的心得
- hibernate 创建工厂类
- 基于 HandlerThread 的 IntentService
- php实现扫码支付
- February 29(模拟)
- kali无线渗透之aireplay-ng
- struts学习-HelloWorld
- Canvas和Paint的常用方法
- poj 2739 Sum of Consecutive Prime Numbers(尺取+筛素数)
- Java 利用iText生成pdf并导出