从(0,0)站点上车,要赶去(x,y)这个点,公交车只能沿着x轴开,问最快到x,y要从哪一下站下车…水题
#include<cstdio>
#include<cmath>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
#define INF 0x3f3f3f3f
typedef long long ll;
const double eps=1e-8;
int sgn(double a){return a<-eps?-1:a<eps?0:1;}
double dis(double x1,double y1,double x2)
{
return sqrt((x1-x2)*(x1-x2)+y1*y1);
}
int st[105];
int main()
{
int n,vb,vs,tx,ty;
scanf("%d%d%d",&n,&vb,&vs);
for(int i=0;i<n;i++) scanf("%d",&st[i]);
scanf("%d%d",&tx,&ty);
double ans=INF;int ansi=0;
for(int i=1;i<n;i++)
{
double t=dis(1.0*tx,1.0*ty,1.0*st[i])/vs+1.0*st[i]/vb;
if(sgn(t-ans)<=0)
{
ans=t;
ansi=i;
}
}
printf("%d\n",ansi+1);
}