记录编号 575430 评测结果 AAAAAAAAAA
题目名称 白色谎言 最终得分 100
用户昵称 Gravatarop_组撒头屯 是否通过 通过
代码语言 C++ 运行时间 0.497 s
提交时间 2022-09-14 20:49:04 内存使用 10.93 MiB
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=2000+5;
const ll inf=0x7fffffff;
int n,m,now=0;
ll a[N],f[N][N];
int main(){
	freopen ("white_lies.in","r",stdin);
	freopen ("white_lies.out","w",stdout);
	while(scanf("%d%d",&m,&n)!=EOF){
	    f[0][0]=f[1][0]=0;
	    for (int i=1;i<=n;i++){
	        scanf("%lld",&a[i]);
	        f[0][i]=f[1][i]=0;
        }
        ll ans=-inf;
        for (int i=1;i<=m;i++){
            f[i][i-1]=-inf;ll mx=-inf;
            for (int j=i;j<=n-m+i;j++){
                mx=max(mx,f[i-1][j-1]);
                f[i][j]=max(f[i][j-1],mx)+a[j];
            }
        }
        for (int i=m;i<=n;i++)ans=max(ans,f[m][i]);
        printf("%lld\n",ans);
    }
    return 0;
}