比赛 |
20111107 |
评测结果 |
WWWWWWWWWW |
题目名称 |
删数 |
最终得分 |
0 |
用户昵称 |
苏轼 |
运行时间 |
0.000 s |
代码语言 |
C++ |
内存使用 |
0.00 MiB |
提交时间 |
2011-11-07 10:47:28 |
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cmath>
using namespace std;
int n,head,tail;
int q[110],answer=0;
int main()
{
freopen ("remove.in","r",stdin);
freopen ("remove.out","w",stdout);
scanf("%d",&n);
for (int i=1;i<=n;i++)
{
scanf("%d",&q[i]);
}
head=1;
tail=n;
while (n>0)
{
int temp1=0,temp2=0;
int e,r;
temp1=q[head];
e=head;
r=tail;
for (int i=head+1;i<=tail;i++)
{
int c;
c=abs((double)q[i]-q[head]);
if (c>temp1)
{
temp1=c;
e=i;
}
}
for (int i=head;i<=tail-1;i++)
{
int d;
d=abs((double)q[i]-q[tail]);
if (d>temp2)
{
temp2=d;
r=i;
}
}
if (temp1>temp2)
{
answer+=temp1*(e-head+1);
n-=e-head+1;
head=e+1;
}
else
{
answer+=temp2*(tail-r+1);
n-=tail-r+1;
tail=r-1;
}
}
cout<<answer;
return 0;
}