| 记录编号 | 
        32863 | 
        评测结果 | 
        AAAAAAAAAA | 
    
    
        | 题目名称 | 
        608.删数 | 
        最终得分 | 
        100 | 
            
    
    
        | 用户昵称 | 
         song | 
        是否通过 | 
        通过 | 
    
    
        | 代码语言 | 
        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;
	}
}