记录编号 597080 评测结果 AAAAAAAAAAAAAAAAAAAA
题目名称 HS 的 Eula 最终得分 100
用户昵称 Gravatarwdsjl 是否通过 通过
代码语言 C++ 运行时间 1.935 s
提交时间 2024-11-21 18:20:02 内存使用 7.49 MiB
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
#define int long long

int Abs(int x){return x>0?x:-x;}

int dp[510][510][2],n,m,a[510],ans;

signed main(){
	freopen("Eulalover.in","r",stdin);
	freopen("Eulalover.out","w",stdout);
	scanf("%lld%lld",&n,&m);
	for(int i=1;i<=n;++i)scanf("%lld",&a[i]);
	sort(a+1,a+1+n);
	for(int len=1;len<=n;++len){
		memset(dp,0,sizeof dp);
		for(int i=1;i<=n;++i)dp[i][i][0]=dp[i][i][1]=m-Abs(a[i])*len,ans=max(ans,dp[i][i][0]);
		for(int dis=2;dis<=len;++dis){
			for(int l=1,r=dis;r<=n;++l,++r){
				dp[l][r][0]=max(dp[l+1][r][0]+m-Abs(a[l+1]-a[l])*(len-dis+1),dp[l+1][r][1]+m-Abs(a[r]-a[l])*(len-dis+1));
				dp[l][r][1]=max(dp[l][r-1][1]+m-Abs(a[r]-a[r-1])*(len-dis+1),dp[l][r-1][0]+m-Abs(a[r]-a[l])*(len-dis+1));
				ans=max(ans,max(dp[l][r][0],dp[l][r][1]));
			}
		}
	}
	printf("%lld",ans);
	return 0;
}