编程题
### 问题描述 许多地方,主要是靠山的地方,都能看到居民拿着各式各样的水桶、驾驶着各种交通工具来取从山上流淌下来的“山泉水”,如下图所示。 取水点就是用一根水管把山上汇集下来的水接出来,这样就可以用各种水桶来接水了。而且通常这种取水点水流量很小,同一时间只能供一个人取水,大家都很自觉,不争不抢,排队取水。 但是,我就不明白了,这些水的水质达标吗?这些“山泉水”真的比自来水更健康、更安全吗? ![排队取水](https://dn-simplecloud.shiyanlou.com/courses/uid1791927-20230505-1683271313846) 这次取水点又改进了取水方案,取水人觉得从水池了灌水,水质不好。于是有个老头或老太义务当管理员,管理员把水灌进一个个标准的水桶里,就像桶装水的水桶一样。这样,每个取水人到来后,他就只需要把他带来的空水桶,更换成装满的水桶。假定每个人都很自觉,带了几个空水桶过来,就取几桶水走。 注意,每个测试数据都是从时刻 $0$ 算起。 假定管理员可以用的空水桶足够多(相当于 $0$ 时刻有无穷多空的水桶),不会出现没有空水桶用的情况。假设管理员灌好一桶水需要的时间为 $m$(单位是秒还是分钟,无关紧要)。 取水人还是一个个地到来。假设第 $i$ 个人需要 $s_i$ 桶水(那他一定是带了 $s_i$ 个空水桶来了),如果取水点足够多桶灌好的水,他把空水桶更换成装好水的水桶,这不需要花时间。 但是如果取水点没有足够多桶水,他就必须等管理员灌好足够多桶水。输入 $n$ 个人的到来时间和他所需水的桶数,计算 $n$ 个人总的等待时间。 ### 输入格式 输入数据占 $3$ 行,第一行为正整数 $n,m (2≤n≤100,1\le m\le10)$,$n$ 表示人数,$m$ 表示管理员灌好一桶水所需的时间。 第 $2$ 行有 $n$ 个正整数 $0\le t_1\le t_2\le ...\le t_n\le 50$,表示这 $n$ 个人到来的时刻(按先后顺序排列)。 第 $3$ 行也有 $n$ 个正整数 $s_1,s_2,...,s_n(1\le s_i\le 50)$,表示这 $n$ 个人所需水的桶数。 ### 输出格式 输出占一行,为 $n$ 个人总的等待时间。 ### 输入样例1 ```txt 5 3 11 14 36 45 67 5 3 10 4 9 ``` ### 输出样例1 ```txt 79 ``` ### 输入样例2 ```txt 5 2 4 7 10 12 20 6 6 6 6 6 ``` ### 输出样例2 ```txt 127 ```
查看答案
赣ICP备20007335号-2