本题是个数学推理 ,我们先要保证剩下的车油都是满的,所以每当报废一辆车,剩余的车要保证是油满的。
那么就推出来了每当行驶s/n(n = 1 ….n),公里报废一辆..。
由于数据量大暴力的话必超时,那么就要用前缀和的一点知识
附上代码:
1 #include <cstdio> 2 3 long double a[1000005]; 4 int main(){ 5 a[1] = 1; 6 for(int i = 2; i <= 1000000; ++ i) 7 a[i] = a[i-1] + (long double)1.0 / i; 8 int T; 9 scanf("%d",&T); 10 while(T--){ 11 int n;long long s; 12 scanf("%d%lld", &n, &s); 13 printf("%.10Lf\n", a[n] * s); 14 } 15 return 0; 16 }