流浪地球中,需要驾驶员护送“火石”到对应的城市作为城市发动核心的燃料,现在你有n辆在火星上的太空车,每辆车在装满油的状态下可以保证车驾驶 s km。假设这些车在起点的时候都是装满油的,并且每辆车的燃料可以随时分配。
由于是紧急救援,耗尽燃料的汽车不必再回到城市进行补给,因此只需要保证有一辆太空车到达即可,那么请问太空车能到达的最远距离是多少?
输入描述
输入数据第一行包括一个数字 T [1,100 000],表示用例组数。
接下来T行,每行包括两个整数n,s ( n<=1000 000 1<=s<=10^18),含义如题目描述所述。
输出描述
对于每组用例,在一行内输出一个数 x,表示这个车队可以救援的最远距离(单位:千米)。
如果你的答案是 a ,标准答案是 b ,如果 <= 10^-6,你的答案将被判定为正确。
样例说明
对于第二组用例,你可以将两辆车一起开50km以后把第二辆车的油全部转移给第一辆车,然后第一辆车还可以单独再开100km。
测试输入 | 期待的输出 | 时间限制 | 内存限制 | 额外进程 | |
---|---|---|---|---|---|
测试用例 1 | 以文本方式显示
| 以文本方式显示
| 1秒 | 153600KB | 0 |
#include<stdio.h>
#include<stdlib.h>
int main(){
int t,n,i;
double s,a[1000001];
scanf("%d",&t);
a[1]=1.0;
for(i=2;i<=1000000;++i)
{
a[i]=a[i-1]+1.0/(double)i;
}
while(t--)
{
scanf("%d%lf",&n,&s);
s*=a[n];
printf("%lf\n",s);
}
}