链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网
游游准备开车出游,她的车非常特殊,油越多则最高速度越快,即最高速度和油量是成正比的。另外,行驶过程中油是不会消耗的。
已知游游的车初始的最高速度为v0v_0v0,当游游花费了ttt时间加油时,车的最高速度会变成v0+t∗xv_0+t*xv0+t∗x。
游游开车的总里程为yyy,假设游游始终以最高速度行驶(即忽略加速时间),游游想知道,自己最少花费多少时间可以完成出游?
分析:
求一阶导。
#include<bits/stdc++.h>
typedef long long ll;
using namespace std;
void solve()
{
double v,x,y,md;
cin>>v>>x>>y;
double f=x*y-v*v;
if(f<0)
{
md=1.0*y/v;
}
else{
double t1=(sqrt(1.0*x*y)-v)/x;
md=y/(v+t1*x)+t1;
}
cout<<fixed<<setprecision(7)<<md<<'\n';
}
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
ll t=1;
while(t--)
solve();
return 0;
}