比赛 |
20111107 |
评测结果 |
C |
题目名称 |
删数 |
最终得分 |
0 |
用户昵称 |
日光。 |
运行时间 |
0.000 s |
代码语言 |
C++ |
内存使用 |
0.00 MiB |
提交时间 |
2011-11-07 11:21:39 |
显示代码纯文本
#include<fstream>
using namespace std;
int ans,i,j,m,N,k,top,last;
int a[101];
bool b[101];
void search(int temp,int flg)
{
int r;
if(ans<temp)
{
ans=temp;
}
else
{
for(r=1;r<=2;r++)
{
if(r==1)
{
if(b[r-1]!=true&&flg!=0)
{
for(r=top;r<top+i;r++)
{
if(i==1)
{
b[r-1]=true;
top=top+i;
search(temp+a[r],flg-i);
top=top-i;
b[r-1]=false;
}
else
{
b[r-1]=true;
top=top+i;
search(temp+(abs(a[top]-a[top+i-1])*i),flg-i);
top=top-i;
b[r-1]=false;
}
}
}
}
else
{
if(b[r]!=true&&flg!=0)
{
for(r=last;r<last-i;r--)
{
if(i==1)
{
b[r]=true;
last=last-i;
search(temp+a[r],flg-i);
last=last+i;
b[r]=false;
}
else
{
b[r]=true;
last=last-i;
search(temp+(abs(a[last]-a[last+i-1])*i),flg-i);
last=last+i;
b[r]=false;
}
}
}
}
}
}
}
int main()
{
ifstream fin("remove.in");
ofstream fout("remove.out");
fin>>N;
for(i=0;i<N;i++)
{
fin>>a[i];
}
for(i=0;i<N;i++)
{
b[i]=false;
}
top=1;
last=N;
search(0,N);
fout<<ans;
return 0;
}