自学内容网 自学内容网

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;
}


原文地址:https://blog.csdn.net/M112232/article/details/136959567

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!