比赛 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;
}