记录编号 80231 评测结果 AAAAAA
题目名称 跳远 最终得分 100
用户昵称 GravatarLauncher 是否通过 通过
代码语言 C++ 运行时间 0.022 s
提交时间 2013-11-06 21:53:41 内存使用 3.14 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<math.h>
using namespace std;
int n, v;
int ll[15]={0};
double h[15]={0};
double a[15]={0};
int g;

bool check(double v0,int l,int r)
{
	int i;
	double t;
	for (i=l+1;i<r;i++)
	{
		t=(a[i]-a[l])/v0;
		if (!(v0*t-5.0*t*t+0.000001>=h[i]-h[l]))
			return false;
	}
	return true;
}


int main()
{
	freopen("jump.in","r",stdin);
	freopen("jump.out","w",stdout);
	int i,j,k;

	g=10;
	cin>>n>>v;
	for (i=1;i<=n;i++)
	{
		cin>>ll[i];
		a[i]=a[i-1]+1.0*ll[i-1]/2+1.0*ll[i]/2;
		h[i]=sqrt(0.75*ll[i]*ll[i]);
	}
	double dx,dy;
	int temp;
	double v0;
	for (i=1;i<=n-1;i++)
	{
		temp=0;
		for (j=i+1;j<=n;j++)
		{
			dx=a[j]-a[i];
			dy=h[j]-h[i];
			v0=sqrt(5.0*dx*dx/(dx-dy));
			if (v0<=v+0.000001&&check(v0,i,j))
				temp=j;
			else
				break;
		}
		printf("%d ",temp);
	}

	return 0;
}