P2858求助,有注释
  • 板块灌水区
  • 楼主Flying_hp
  • 当前回复1
  • 已保存回复2
  • 发布时间2024/9/30 13:49
  • 上次更新2024/9/30 18:24:19
查看原帖
P2858求助,有注释
1123665
Flying_hp楼主2024/9/30 13:49
数据明明对了,为什么还是WA。
#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll n;
ll a[2050];
ll dp[2050][2050];//左边界选了i个,右边界j个 
ll ans;
int main(){
	cin>>n;
	for(ll i=1;i<=n;i++)
	cin>>a[i];
	for(ll i=0;i<=n;i++){
		for(ll j=0;j+i<=n;j++){
			dp[i][j]=max(dp[i][j],max(dp[i-1][j]+a[i]*(i+j),dp[i][j-1]+a[n-j+1]*(i+j)));//左边i-1个,并且选择左边的或右边j-1个,并选择第n-j+1个 
		}
	}
	for(ll i=0;i<=n;i++){
		ans=max(ans,dp[i][n-i]);//输出最大 
	}
	cout<<ans<<endl;
	return 0;
}

测试点1: 5 1 3 1 5 2 记录:https://www.luogu.com.cn/record/179085234

2024/9/30 13:49
加载中...