记录编号 80535 评测结果 AAAAAA
题目名称 跳远 最终得分 100
用户昵称 GravatarYang 是否通过 通过
代码语言 C++ 运行时间 0.002 s
提交时间 2013-11-07 11:29:36 内存使用 3.15 MiB
显示代码纯文本
#include <iostream>
#include <cstdio>
#include <cmath>
#include <algorithm>
#define c 1.73205
double maxn(double x,double y)
{	if(x>y)return x;
	else return y;
}
double x[12],y[12];
double bc[12];
int num[12];
double v;
double vmax[12];
int n;
using namespace std;
int main()
{	freopen("jump.in","r",stdin);
	freopen("jump.out","w",stdout);
	scanf("%d%lf",&n,&v);
	for(int i=1;i<=n;i++){scanf("%lf",&bc[i]);}
	for(int i=1;i<=n;i++)
	{	x[i]=x[i-1]+bc[i-1]/2+bc[i]/2;
		y[i]=bc[i]/2*c;
	}
	for(int i=1;i<n;i++)
	{	for(int j=i+1;j<=n;j++)
		{	double t;
			double vp;
			if(x[j]-x[i]-y[j]+y[i]<0){break;}
			t=sqrt((x[j]-x[i]-y[j]+y[i])/5);
			vp=(x[j]-x[i])/t;
			if(vp<=v)
			{	if(vp>=vmax[i]){vmax[i]=vp;num[i]=j;}
				else break;
			}
		}
	}
	for(int i=1;i<n;i++)
	{	printf("%d ",num[i]);
	}
	return 0;
}