记录编号 32863 评测结果 AAAAAAAAAA
题目名称 删数 最终得分 100
用户昵称 Gravatarsong 是否通过 通过
代码语言 C++ 运行时间 0.009 s
提交时间 2011-11-08 17:51:30 内存使用 0.31 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
using namespace std;
int n,sum[101][101]={0},r[110]={0};
int maxn(int x,int y,int z);
int z(int w,int e);
int main()
{
	freopen("remove.in","r",stdin);
	freopen("remove.out","w",stdout);
	cin>>n;
	for(int i=0;i<n;i++)
	{
		cin>>r[i];
	}
	for(int i=0;i<n;i++)
	{
		sum[i][i]=r[i];
	}
	for(int i=n-1;i>=0;i--)
	{
		for(int j=i+1;j<n;j++)
		{
			for(int k=i;k<j;k++)
			{
				sum[i][j]=maxn(sum[i][k]+sum[k+1][j],z(r[i],r[j])*(j-i+1),sum[i][j]);
			}
		}
	}
	cout<<sum[0][n-1];
}
int maxn(int x,int y,int z)
{
	if(y>x)
	{
		x=y;
	}
	if(z>x)
	{
		x=z;
	}
	return x;
}
int z(int w,int e)
{
	if(w>e)
	{
		return w-e;
	}
	else
	{
		return e-w;
	}
}