子串和 nyoj 44
来源:互联网 发布:义乌招淘宝美工 编辑:程序博客网 时间:2024/05/16 03:06
子串和
时间限制: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) - 输出
- 对于每组测试数据输出和最大的连续子串的和。
- 样例输入
151 2 -1 3 -2
- 样例输出
5
- 提示
/* 例如: 1, 2,-1,3,-2;
第一次 b = 1 , sum = 1;
第二次 b = 3 ,
sum = 3;
第三次 b = 2 ,
sum = 3;
第四次 b = 5 ,
sum = 5;
第五次 b = 3 ,
sum = 5; */
01.
#include<stdio.h>
02.
#include<string.h>
03.
#define Max 1000001
04.
int
a[Max];
05.
int
i,j;
06.
long
sum,b;
07.
int
main()
08.
{
09.
int
n;
10.
scanf
(
"%d"
,&n);
11.
while
(n--)
12.
{
13.
long
m;
14.
sum=-100;
15.
b=0;
16.
scanf
(
"%ld"
,&m);
17.
memset
(a,0,
sizeof
(a));
18.
for
(i=0;i<m;i++)
19.
{
20.
scanf
(
"%ld"
,&a[i]);
21.
}
22.
for
(j=0;j<m;j++)
23.
{
24.
if
(b>0)
25.
{
26.
b+=a[j];
27.
}
28.
else
29.
{
30.
b=a[j]; //把输入的第一个数给b
31.
}
32.
if
(b>sum)
33.
{
34.
sum=b;
35.
}
36.
37.
}
38.
printf
(
"%ld\n"
,sum);
39.
}
40.
return
0;
41.}
0 0
- nyoj 44 子串和
- NYOJ-子串和44
- NYOJ 44 子串和
- nyoj-44-子串和
- NYOJ 44 子串和
- NYOJ 44 子串和
- NYOJ 44 子串和
- NYOJ 44 子串和
- NYOJ 44 子串和
- nyoj 44 子串和
- nyoj 44 子串和
- NYOJ--44子串和
- NYOJ 子串和 44
- NYOJ 44【子串和】
- nyoj 44 子串和
- 子串和 nyoj 44
- NYOJ 44 子串和
- nyoj 44 子串和
- 1.[Python]使用subprocess在新的进程中执行命令
- 常用正则表达式大全
- java dom4j 解析XML文件 简易教程
- python通过BeautifulSoup分页网页中的超级链接
- HDU2108和HDU2036(叉乘)
- 子串和 nyoj 44
- opengl VAO and VBO
- 上拉加载(二)
- JVM垃圾收集(一) 寻找垃圾
- 将Activity设置成窗口的样式
- Java项目生成帮助文档教程
- node.js调用bat
- PHP中使用XML-RPC构造Web Service简单入门
- 【第5篇】TypeScript块module的案例代码详解