子串和
来源:互联网 发布:次世代软件 编辑:程序博客网 时间:2024/05/22 06:18
子串和
时间限制: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
提示
输入数据很多,推荐使用scanf进行输入
程序代码:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
long a[1000001];
long MaxSum(long n,long *a)
{
long sum=-100,b=0;
for(int i=1;i<=n;i++)
{
if(b>0) b+=a[i];
else b=a[i];
if(b>sum) sum=b;
}
return sum;
}
int main()
{
int m,i;
long n;
scanf("%d",&m);
while(m--)
{
scanf("%ld",&n);
memset(a,0,sizeof(a));
for(i=1;i<=n;i++)
scanf("%ld",&a[i]);
printf("%ld\n",MaxSum(n,a));
}
system("pause");
return 0;
}
- NYOJ44 子串和
- 子串和
- 子串和
- 最大子串和
- 子串和
- 44子串和
- NYOJ 子串和
- 最大和子串
- 子串和
- 子串最大和
- 最大子串和
- 44 子串和
- 子串和
- 子串和
- NYOJ44,子串和
- 最大子串和
- 子串和
- 子串和
- 在一个printf ();函数中输出多行
- VC 中 C/C++ 增减量运算符解析
- C语言 单链队列操作
- poj2446 Chessboard(二分)
- JSON
- 子串和
- 2014.8.2模拟赛【打地鼠游戏】
- 关于Android解析XML
- Codeforces 453A Little Pony and Expected Maximum(期望)
- mongoDB 管理常用命令
- Android 自定义ViewGroup 实战篇 -> 实现FlowLayout
- 更好的理解装饰设计模式和代理设计模式
- 使用volley实现简单的操作,json传输,网络图片显示
- 多线程死锁