最大字串和

f[i]表示一定选a[i]的字串的最大值

#include <cstdio>
#include <algorithm>
using namespace std;
typedef long long ll;
const int maxn = 1005;
const int inf=1e9;
int n, k;
int a[maxn],f[maxn];

int main() {
    scanf("%d", &n);
    for(int i = 1; i <= n; ++i) {
        scanf("%d", &a[i]);

    }
    //字串和最大
    //f[i]表示一定要选I的字串最大和
    for(int i=1;i<=n;i++)
        f[i]=max(f[i-1]+a[i],a[i]);
    int mm=-inf;
    for(int i=1;i<=n;i++)
        mm=max(mm,f[i]);
    printf("%d\n",mm);
}

 

posted @ 2021-08-18 11:12  废柴废柴少女  阅读(37)  评论(0)    收藏  举报