题解 | #最大序列和#

最大序列和

http://www.nowcoder.com/practice/df219d60a7af4171a981ef56bd597f7b

因为题目要求连续,所以只能从相邻的状态转移过来。 改一下最长上升子序列这道题的转移方程就可以了

#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;

const int N = 1000000 + 10;

int n;
int a[N];
int f[N];

int main()
{
    while (cin >> n)
    {
        for (int i = 1; i <= n; ++i)
            scanf("%d", &a[i]);
        f[1] = a[1];
        for (int i = 2; i <= n; ++i)
        {
            f[i] = a[i];
            f[i] = max(f[i], f[i-1] + a[i]);
        }
        int res = -0x3f3f3f3f;
        for (int i = 1; i <= n; ++i)
            res = max(res, f[i]);
        printf("%d\n", res);
    }
    return 0;
}
全部评论

相关推荐

05-30 18:54
武汉商学院 Java
湫湫湫不会java:先投着吧,大概率找不到实习,没实习的时候再加个项目,然后把个人评价和荣誉奖项删了,赶紧成为八股战神吧,没实习没学历,秋招机会估计不多,把握机会。或者说秋招时间去冲实习,春招冲offer,但是压力会比较大
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务