首页 > 试题广场 >

身体训练

[编程题]身体训练
  • 热度指数:169 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
美团外卖的配送员用变速跑的方式进行身体训练。
他们训练的方式是:n个人排成一列跑步,前后两人之间相隔 u 米,每个人正常速度均为 v 米/秒。
当某个配送员排在最后的时候,他需要以当时自己的最高速度往前跑,直到超过排头的人 u 米,然后降回到原始速度 v 米/秒。每个人最初的最高速度为c[i] 米/秒,每轮衰减d[i] 米/秒,也就是说,如果i是第j个跑的,那么他的速度就是c[i]-(j-1)*d[i] 米/秒。
n个人初始以随机的顺序排列,每种顺序的概率完全相等,跑完一轮(每个人都追到排头一次,序列恢复原样)的期望需要的时间是多少?

输入描述:
第一行整数n(<=1000), 实数v(<=100) , 实数u(<=10)
第二行n个实数每个人的速度c[i](<=50000)
第三行n个实数值每个人衰减量d[i](<=10)

输入数据保证每个人的速度不会衰减到<=v


输出描述:
答案保留3位小数。
示例1

输入

10 37.618 0.422
72.865 126.767 202.680 106.102 99.516 134.418 167.952 173.646 120.210 136.571
2.941 3.664 7.363 4.161 0.246 8.046 5.521 7.473 7.178 5.649

输出

0.815
头像 HerioOvO
发表于 2020-04-07 22:24:32
#include<bits/stdc++.h> using namespace std; typedef long long ll; const int N=1e3+5; double c[N],d[N],f[N]; int main(){ int n; double v 展开全文
头像 回归梦想
发表于 2020-04-11 00:33:20
牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format:%lld 题目描述 美团外卖的配送员用变速跑的方式进行身体训练。 他们训练的方式是:n个人排成一列跑步,前后两人之间相隔 u 米,每个人正常速度均为 v米 展开全文

热门推荐

通过挑战的用户

身体训练