记录编号 |
32660 |
评测结果 |
AAAAAAAAAA |
题目名称 |
删数 |
最终得分 |
100 |
用户昵称 |
zhangyl |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.008 s |
提交时间 |
2011-11-07 16:46:00 |
内存使用 |
4.10 MiB |
显示代码纯文本
#include<iostream>
#include<fstream>
#include<cmath>
#include<cstdlib>
using namespace std;
ifstream fin("remove.in");
ofstream fout("remove.out");
int n,num[1002],f[1002][1002];
int aaabs(int a)
{
if (a<0) return -a;
return a;
}
void read1()
{
fin>>n;
for (int i=1;i<=n;i++)
{
fin>>num[i];
f[i][i]=num[i];
}
}
void make()
{
for (int j=2;j<=n;j++)
{
for (int i=1;i<=n-1;i++)
if (i+j-1<=n)
{
f[i][i+j-1]=aaabs(num[i]-num[i+j-1])*j;
for (int k=i;k<=i+j-2;k++)
if (f[i][i+j-1]<f[i][k]+f[k+1][i+j-1])
f[i][i+j-1]=f[i][k]+f[k+1][i+j-1];
}
}
fout<<f[1][n];
}
int main()
{
read1();
make();
return 0;
}