数字序列

    xiaoxiao2021-03-25  113

    题目描述 Description

    给定一个长度为n的一个序列A1,A2,…,An,求序列中连续子序列的最大和。

    例如:当输入为-5,3,5,7,-15,6,9,27,-36,10时,连续子序列6,9,27的和为42是最大值;而当序列变成-5,3,5,8,-15,6,9,27,-36,10时,连续子序列3,5,8,-15,6,9,27的和为43是最大值。

    输入描述 Input Description

    第一行为n (n≤1000),第二行为n个数,表示序列Ai(-10000≤Ai≤10000)。

    输出描述 Output Description

    一个数,表示连续子序列的最大和。

    样例输入 Sample Input

    10

    -5 3 5 8 -15 6 9 27 -36 10

    样例输出 Sample Output

    43

    数据范围及提示 Data Size & Hint

    -10000≤Ai≤10000

    n≤1000

    #include <iostream> #include <cstdio> using namespace std; int main() { int Max=0,sum=0,s; int n; int i; scanf("%d", &n); for(i=0;i<n;i++) { scanf("%d", &s); sum+=s; if(Max<sum) { Max=sum; } if(sum<0) sum=0; } printf("%d\n",Max); }

    转载请注明原文地址: https://ju.6miu.com/read-18789.html

    最新回复(0)