| 比赛 | 
    20111107 | 
    评测结果 | 
    AAAAAAAAAA | 
    | 题目名称 | 
    删数 | 
    最终得分 | 
    100 | 
    | 用户昵称 | 
    qqlive | 
    运行时间 | 
    0.000 s  | 
    | 代码语言 | 
    C++ | 
    内存使用 | 
    0.00 MiB  | 
    | 提交时间 | 
    2011-11-07 11:30:01 | 
显示代码纯文本
#include<fstream>
using namespace std;
ifstream cin("remove.in");
ofstream cout("remove.out");
int n,x,i,j,p,f[1000][1000],a[1000];
int jue(int a)
{
	if(a>=0)
		return a;
	else
		return -a;
}
int main()
{
	cin>>n;
	for(i=1;i<=n;i++) 
	{
		cin>>a[i];
		f[i][i]=a[i];
	}
	for (i=1;i<n;i++)
		for (j=1;j<n;j++)
		{
			p=i+j;
			f[j][p]=jue(a[p]-a[j])*(p-j+1);
			for(x=j;x<p;x++)
				if (f[j][x]+f[x+1][p]>f[j][p])
					f[j][p]=f[j][x]+f[x+1][p];
		}
	cout<<f[1][n]<<endl;
	return 0;
}