递推好像有问题
查看原帖
递推好像有问题
332549
幽灵特工楼主2021/2/4 09:32

对样例输出18而不是27

#include <bits/stdc++.h>
using namespace std;
int n,ans=0;
int a[30];
int k[30][30];
int dp[30][30];
int main(){
	cin>>n;
	for(int i=1;i<=n;i++)cin>>a[i];
	for(int i=1;i<=n-1;i++){
		for(int j=i+1;j<=n;j++)cin>>k[i][j];
	}
	dp[0][1]=a[1];
	for(int i=1;i<=n-1;i++){
		for(int j=i+1;j<=n;j++){
			if(k[i][j])dp[i][j]=dp[i-1][i]+a[j];
			ans=max(ans,dp[i][j]);
		}
	}
	cout<<ans;
}
2021/2/4 09:32
加载中...