80分 卡在全负数的点上 求大佬指点
查看原帖
80分 卡在全负数的点上 求大佬指点
846497
pinguier楼主2023/1/15 21:07
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
typedef long long ll;
const int N = 2e5+10;

//dp思路 f[i]表示以第i个元素结尾的子段和 f[i] = max(f[i],f[i-1]+a[i])
int a[N];
ll s[N];
int n;
int f[N];

int main(){
    cin>>n;

    for(int i=1;i<=n;i++){
        cin>>a[i];
    }
    int res = 0;
    for(int i=1;i<=n;i++){
        f[i] = max(f[i],f[i-1]+a[i]);
    }

    for(int i=1;i<=n;i++) res = max(res,f[i]);

    cout<<res<<endl;

    return 0;
}









2023/1/15 21:07
加载中...