hdu 1003 求连续子数列的最大和
来源:互联网 发布:linux dhcp分配主机名 编辑:程序博客网 时间:2024/06/09 19:03
25 6 -1 5 4 -77 0 6 -1 1 -6 7 -5
Case 1:14 1 4Case 2:7 1 6
题意:求一个数组,连续子数列的最大和,以及它的开始点和结束点
#include<stdio.h>
int a[1000001];
int main()
{
int t,k=1,m,i;
scanf("%d",&t);
while(t--)
{
int sta,end,st=1,en,sum=0,ans=-999999999;//一定定义在while里面,否则多组数据时会出错
scanf("%d",&m);
for(i=1;i<=m;i++)
scanf("%d",&a[i]);
for(i=1;i<=m;i++)
{
if(sum>=0)
{
sum+=a[i];en=i; //因为加一个负数一定是在变小,所以只有大于0时才进行
}
else {
sum=a[i];
st=i;
en=i;
}
if(sum>ans)
{
end=en;//这里全部是最后要输出的符合题意的结果
sta=st;
ans=sum;
}
}
printf("Case %d:\n",k++);
printf("%d %d %d\n",ans,sta,end);输出的最大值是ans,不是sum因为可能最后一次加得的结果小于倒数第二次的结果。必须进行一次比较
if(t)
printf("\n");//输出格式要注意
}
return 0;
}
- hdu 1003 求连续子数列的最大和
- HDU 1003 求最大连续子序列
- 最大连续子数列和
- 最大连续子数列和
- 求最大子数列的和
- 求连续子序列的最大和
- 求连续子数组的最大和
- 求连续子数组的最大和
- 求连续子数组的最大和
- 求连续子数组的最大和
- 求连续子数组的最大和
- 求连续子数组的最大和
- 求连续子数组的最大和
- 求连续子数组的最大和
- 求连续子数组的最大和
- 求连续子数组的最大和
- 求连续子数组的最大和
- 求连续子数组的最大和
- 056:hibernate树状结设计(至关重要)
- HDU 2087 剪花布条 KMP题解
- 编译器&调试---Android项目遇到"TheType R is already defined"
- Python练习代码 -- 单元测试 使用unittest
- 【漫立方译】交互式GPU光线追踪——用于基于物理的灯光预览
- hdu 1003 求连续子数列的最大和
- 职业规划
- SSH中如何进行单元测试
- 【漫立方译】交互式GPU光线追踪——用于基于物理的灯光预览
- LeetCode Solutions : Container With Most Water
- hdu 1085
- SpringMVC学习笔记(5) 启用(优化)注解+静态资源访问
- 1001 Exponentiation
- hdu round7 Magical Forest(map)