| 比赛 | 20110916 | 评测结果 | AAAAAAAAAA | 
    | 题目名称 | 硬币 | 最终得分 | 100 | 
    | 用户昵称 | kaaala | 运行时间 | 0.145 s | 
    | 代码语言 | C++ | 内存使用 | 15.60 MiB | 
    | 提交时间 | 2011-09-16 19:16:12 | 
显示代码纯文本
#include<iostream>
#include<fstream>
#include<cmath>
using namespace std;
int c[2002],f[2001][2001],n;
void work()
{
	int i,j;
	for(i=1;i<=n;i++)
		f[0][i]=0;
	for(i=1;i<=n;i++)
		for(j=1;j<=n;j++)
		{
			f[i][j]=f[i][j-1];
			if(i-2*j+1>=0)
				f[i][j]=max(f[i][j],c[i]-f[i-2*j+1][2*j-1]);
			if(i-2*j>=0)
				f[i][j]=max(f[i][j],c[i]-f[i-2*j][2*j]);
		}
}
int main()
{
	int i;
	ifstream fin("xoinc.in");
	ofstream fout("xoinc.out");
	fin>>n;
	for(i=n;i>0;i--)
		fin>>c[i];
	for(i=1;i<=n;i++)
		c[i]+=c[i-1];
	work();
	fout<<f[n][1];
	fin.close();
	fout.close();
	return 0;
}