codeforces 780B
来源:互联网 发布:阿里云个人邮箱咋申请 编辑:程序博客网 时间:2024/06/05 09:55
题意:n个人在一条直线上,第I个人在坐标ai处,步行的最大速度为vi(单位m每s),他们能往左或往右走,求出他们能够在一点相遇的最小时间
思路:二分枚举时间t,判断他们所能到达的边界,有交集的不断将区间相交,只要有一个没有交集说明这个时间不能到达同一点。
题目:http://codeforces.com/problemset/problem/780/B
#include<cstdio>#include<algorithm>#define ll long longusing namespace std;const int maxn = 100000+10;int a[maxn];int v[maxn];int n;bool check(double t){double left=a[0]*1.0-t*v[0];double right=a[0]*1.0+t*v[0];for(int i=1;i<n;i++){double l=a[i]*1.0-t*v[i]*1.0;double r=a[i]*1.0+t*v[i]*1.0;if(l>right||r<left)return false;left=std::max(left,l);right=std::min(right,r);}return true;}int main(){while(~scanf("%d",&n)){for(int i=0;i<n;i++)scanf("%d",&a[i]);for(int i=0;i<n;i++)scanf("%d",&v[i]);double l=0,r=1e9;while(r-l>1e-6){double mid=(r+l)/2;if(check(mid)){r=mid;}else{l=mid;}}printf("%.8lf\n",r);}}
阅读全文
0 0
- codeforces 780B
- codeforces B
- codeforces B
- codeforces B
- codeforces B
- CodeForces 626B CodeForces 626B【暴力】
- CodeForces 841B (B) 博弈
- codeforces 134B
- codeforces#98 b
- codeforces 105 div2 B
- Codeforces 166B - Polygons
- codeforces B. Coins
- codeforces----193B Xor
- codeforces----208B Solitaire
- Codeforces 1B - Spreadsheet
- codeforces 214B Hometask
- Codeforces Round #136 B
- CodeForces 224B Array
- Pillow for 2.7.0 教程(1)
- E
- c语言实现单链表面试题--基础篇
- 算法--微软面试:指定数字在数组中出现的次数
- Linux日常——端口
- codeforces 780B
- 关于Django中view对数据库的调用
- iOS7时代我们用什么来追踪和识别用户?
- CodeForces
- request和response的区别
- 我的网络编程学习之路——地址转换函数
- C++编程连接string字符串和int数字的好方法
- windows下easyBCD引导安装ubutu14.04双系统
- 艾灸是不是真那么神奇?