您的位置:首页 > 其它

【三分】Codeforces Round #403 (Div. 2, based on Technocup 2017 Finals) B. The Meeting Place Cannot Be Changed

2017-03-06 00:20 387 查看
三分显然,要注意EPS必须设成1e-6,设得再小一点都会TLE……坑炸了

#include<cstdio>
#include<algorithm>
#include<cmath>
using namespace std;
#define EPS 0.000001
int n,x[60010],v[60010];
double calc(double p)
{
double res=0;
for(int i=1;i<=n;++i)
res=max(res,fabs(p-(double)x[i])/(double)v[i]);
return res;
}
int main()
{
//	freopen("b.in","r",stdin);
scanf("%d",&n);
for(int i=1;i<=n;++i)
scanf("%d",&x[i]);
for(int i=1;i<=n;++i)
scanf("%d",&v[i]);
double l=1.0,r=1000000000.0;
while(r-l>EPS)
{
double m1=l+(r-l)/3.0;
double m2=r-(r-l)/3.0;
double t1=calc(m1),t2=calc(m2);
if(t1>t2)
l=m1;
else
r=m2;
}
printf("%.12lf\n",calc(l));
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐