记录编号 597081 评测结果 AAAAAAAAAAAAAAAAAAAA
题目名称 HS 的 Eula 最终得分 100
用户昵称 Gravatar小金 是否通过 通过
代码语言 C++ 运行时间 1.984 s
提交时间 2024-11-21 18:48:32 内存使用 7.48 MiB
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
int n;
long long dp[510][510][2],m,a[510],ans;
int main()
{
	freopen("Eulalover.in","r",stdin);
	freopen("Eulalover.out","w",stdout);
	scanf("%d%lld",&n,&m);
	for(int i=1;i<=n;i++)
	{
		scanf("%lld",&a[i]);
	}	
	sort(a+1,a+n+1);
	for(int k=1;k<=n;k++)
	{
		memset(dp,0,sizeof(dp));
		for(int i=1;i<=n;i++)
		{
			dp[i][i][0]=m-llabs(a[i])*k;
			dp[i][i][1]=m-llabs(a[i])*k;
			ans=max(ans,dp[i][i][0]);
		}	
		for(int len=2;len<=k;len++)
		{
			for(int l=1,r=len;r<=n;l++,r++)
			{
				dp[l][r][0]=max(dp[l+1][r][0]+m-llabs(a[l+1]-a[l])*(k-len+1),dp[l+1][r][1]+m-llabs(a[r]-a[l])*(k-len+1));
				dp[l][r][1]=max(dp[l][r-1][1]+m-llabs(a[r]-a[r-1])*(k-len+1),dp[l][r-1][0]+m-llabs(a[r]-a[l])*(k-len+1));
				ans=max(ans,max(dp[l][r][0],dp[l][r][1]));
			}
		}
	}
	printf("%lld",ans);
	return 0;
}