PTA 7-3 入侵者围剿第1关-3最大子段和

继续衔接入侵者围剿第一关的第三问:

3-情报小组对作战序列进行了进一步研究,发现整个序列中真正有效的作战序列是个最大子段和问题,也就是序列中的最大子段和才是敌方的真正作战序列。(提示:给定由n个整数组成的序列,求序列中子段的最大和,若所有整数均为负整数时定义最大子段和为0。)
…………………………………………………….
本题只需要实现功能3。
输入
输入格式:
第一行输入整数个数n(1≤n≤1000),再依次输入n个整数(无需有序)。
5
-5 -4 -2 11 13 -5
输出格式:
输出最大子段和
24

输入样例1:

6
-5 -4 -2 11 13 -5

输出样例1:

24

输入样例2:

13
12 1 -5 19 18 -13 27 38 49 -11 -28 73 56

输出样例2:

236

题目中测试数据1为:
100
71 62 -53 -74 -33 98 -81 38 -22 59 100 -36 -63 89 3 81 -98 69 -52 26 85 80 82 73 -66 -1 -68 40 38 -85 9 24 13 -77 100 -95 15 40 -35 84 -92 24 17 -78 75 -40 -14 51 -75 50 69 -53 -93 40 25 -48 14 0 97 -22 42 -50 2 48 19 -53 79 48 -20 -27 49 -17 -54 68 -94 -25 -64 18 91 -29 -26 -16 -8 -6 -35 -90 41 59 54 1 46 56 24 96 -70 66 70 -50 -15 24
测试数据1输出结果为:
707

#include<stdio.h>
int main()
{
    int i=0,n,a[9999];
    scanf("%d",&n);
    for(i=0;i<=n-1;i++)
    scanf("%d",&a[i]);

    int sum=0,sumaaa=0;
    for(i=0;i<n;i++)
    {
        if(sum>0)
            sum+=a[i];
        else
            sum=a[i];
        if(sum>sumaaa)
            sumaaa=sum;
    }
    printf("%d",sumaaa);
    return 0;
}

  • 9
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值