文章

39

粉丝

74

获赞

1

访问

20.5k

头像
最大序列和 题解:全改为long long
P1172 清华大学/兰州大学2019机试
发布于2024年3月22日 12:27
阅读数 763

#include <stdio.h>
#include <stdlib.h>
long long n;
long long a[100000];
long long dp[100000]={0};

long long max(long long a ,long long b){
    if(a>=b)return a;
    else return b;
}

int main()
{
    while(scanf("%lld",&n)!=EOF){
        //dp[i]是以a[i]为结尾的最大字段和
        long long sum;
        for(long long i=0;i<n;i++)scanf("%lld",&a[i]);
        sum=a[0];
        dp[0]=a[0];
        for(long long i=1;i<n;i++){
            dp[i]=max(dp[i-1]+a[i],a[i]);
            if(dp[i]>sum)sum=dp[i];
        }
        printf("%lld\n",sum);
    }

    return 0;
}

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发