为什么会二十分啊啊啊(QWQ)
#include<iostream>
#include<algorithm>
#include<string.h>
using namespace std;
int n,m;
long long dp[101][101][101],a[101][101],ans=-1e17,cnt=1;
int main(){
memset(dp,-1e17,sizeof dp);
cin>>n>>m;
for(int i=1;i<=n;i++)
for(int j=1;j<=i;j++)
cin>>a[i][j];
dp[1][1][0]=a[1][1],dp[1][1][1]=a[1][1]*3;
for(int i=2;i<=n;i++){
for(int j=1;j<=i;j++){
for(int k=0;k<=m && k<=cnt;k++){
dp[i][j][k]=max(dp[i][j][k],dp[i-1][j-1][k]+a[i][j]);
dp[i][j][k]=max(dp[i][j][k],dp[i-1][j-1][k-1]+a[i][j]*3);
dp[i][j][k]=max(dp[i][j][k],dp[i-1][j][k]+a[i][j]);
dp[i][j][k]=max(dp[i][j][k],dp[i-1][j][k-1]+a[i][j]*3);
}
cnt++;
}
}
for(int i=1;i<=n;i++) ans=max(ans,dp[n][i][m]);
cout<<ans;
return 0;
}
RE#6-10
WA#1#3#5