20pts求调
查看原帖
20pts求调
1279028
qu_ming_zhen_nan楼主2024/8/8 11:17

为什么会二十分啊啊啊(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

2024/8/8 11:17
加载中...