codeforce 9B
来源:互联网 发布:任志强反党 知乎 编辑:程序博客网 时间:2024/05/21 12:44
http://vjudge.net/contest/view.action?cid=47681#problem/B
Description
And again a misfortune fell on Poor Student. He is being late for an exam.
Having rushed to a bus stop that is in point (0, 0), he got on a minibus and they drove along a straight line, parallel to axis OX, in the direction of increasing x.
Poor Student knows the following:
- during one run the minibus makes n stops, the i-th stop is in point (xi, 0)
- coordinates of all the stops are different
- the minibus drives at a constant speed, equal to vb
- it can be assumed the passengers get on and off the minibus at a bus stop momentarily
- Student can get off the minibus only at a bus stop
- Student will have to get off the minibus at a terminal stop, if he does not get off earlier
- the University, where the exam will be held, is in point (xu, yu)
- Student can run from a bus stop to the University at a constant speed vs as long as needed
- a distance between two points can be calculated according to the following formula:
- Student is already on the minibus, so, he cannot get off at the first bus stop
Poor Student wants to get to the University as soon as possible. Help him to choose the bus stop, where he should get off. If such bus stops are multiple, choose the bus stop closest to the University.
Input
The first line contains three integer numbers: 2 ≤ n ≤ 100, 1 ≤ vb, vs ≤ 1000. The second line contains n non-negative integers in ascending order: coordinates xi of the bus stop with index i. It is guaranteed that x1 equals to zero, and xn ≤ 105. The third line contains the coordinates of the University, integers xu and yu, not exceeding 105 in absolute value.
Output
In the only line output the answer to the problem — index of the optimum bus stop.
Sample Input
4 5 20 2 4 64 1
3
2 1 10 100000100000 100000
2
Hint
As you know, students are a special sort of people, and minibuses usually do not hurry. That's why you should not be surprised, if Student's speed is higher than the speed of the minibus.
题目大意:在平面直角坐标系中有一点(x,y)从(0,0)出发到该点去,其中在x轴上有一些公交站,可以再00到任意一站之间坐公交,下了站后必须步行到达终点。公交速度和步行速度已给出,求经过几个站后下车,用时最小。第一站为(0,0,)不可下车,若有相同的时间,取距离终点最近的车站下车
纯水题,要注意在double和double比较上的处理,不能用等号。#include <stdio.h>#include <stdio.h>#include <iostream>#include <math.h>using namespace std;double mm(double x,double y,double a,double b){ return sqrt((x-a)*(x-a)+(y-b)*(y-b));}int abs(int x,int y){ if(x>y) return x-y; return y-x;}double a[1005];double b[1005];int main(){ int n,m,k,x,y; while(~scanf("%d%d%d",&k,&n,&m)) { for(int i=0;i<k;i++) { scanf("%lf",&a[i]); } scanf("%d%d",&x,&y); double minn=999999999; for(int i=1;i<k;i++) { b[i]=(mm(x,y,a[i],0)*1.0/m+a[i]*1.0/n); minn=min(b[i],minn); } int mxxx=99999999; for(int i=1;i<k;i++) if(fabs(minn-b[i])<1e-10&&abs(i,x)<mxxx) mxxx=i; printf("%d\n",mxxx+1); } return 0;}
- codeforce 9B
- Codeforce # B Sequence Formatting
- codeforce 298 B Sail
- 【codeforce】B. Flag Day
- codeforce B. Road Construction
- CodeForce 126B
- codeforce #247 B(div2)
- codeforce 6B dfs
- codeforce 7B
- codeforce 13B
- codeforce 15B
- codeforce 17 B
- codeforce 18B
- codeforce 34B
- codeforce 486B
- 【模拟】Codeforce 302B
- (320B)codeforce
- (514B)codeforce
- QT中文显示乱码
- javascript实现页面跳转的方法
- ubuntu 终端安装flash插件的问题陷入sudo dpkg --configure -a死循环解决方法
- spring理解一
- UI简易登陆界面
- codeforce 9B
- 类
- sqlite常用操作
- Physical standby failover steps
- Opengl小记
- 黑马程序员------毕老师视频笔记第13-17天------JavaAPI(String类、StringBuffer类)(2)
- CString与string之间的转换
- C++11之final关键字
- C++中_T的用途