| 记录编号 | 575447 | 评测结果 | AAAAAAAAAA | 
    
        | 题目名称 | 3751.白色谎言 | 最终得分 | 100 | 
    
        | 用户昵称 |  该账号已注销 | 是否通过 | 通过 | 
    
        | 代码语言 | C++ | 运行时间 | 0.542 s | 
    
        | 提交时间 | 2022-09-14 22:01:12 | 内存使用 | 5.41 MiB | 
    
    
    
    		显示代码纯文本
		
		#include<bits/stdc++.h>
using namespace std;
int m,n,a[1010];
long long dp[1010][1010];
long long ans;
long long mx;
int main(){
    freopen("white_lies.in","r",stdin);
    freopen("white_lies.out","w",stdout);
    while(scanf("%d%d",&m,&n)!=EOF){
        ans=-0x3f3f3f3f;
        for(int i=1;i<=n;i++){
            scanf("%d",&a[i]);
        }
        for(int i=0;i<=n;i++)dp[0][i]=dp[i][0]=0;
        for(int i=1;i<=m;i++){
            mx=-0x3f3f3f3f;
            dp[i][i-1]=-0x3f3f3f3f;
            for(int j=i;j<=n-m+i;j++){
                mx=max(dp[i-1][j-1],mx);
                dp[i][j]=max(mx+a[j],dp[i][j-1]+a[j]);
            }
        }
        for(int i=m;i<=n;i++){
            ans=max(ans,dp[m][i]);
        }
        printf("%lld\n",ans);
    }
    return 0;
}