CF1971E.Find the Car
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Timur 正在一辆车上,沿着数轴从 0 点行驶到 n 点。汽车从 0 点在第 0 分钟开始出发。
数轴上有 k+1 个标志牌,分别位于 0,a1,a2,…,ak 处,Timur 知道汽车分别会在第 0,b1,b2,…,bk 分钟到达这些位置。序列 a 和 b 都是严格递增的,且 ak=n。

在任意两个相邻的标志牌之间,汽车都以恒定速度行驶。Timur 有 q 个询问:每个询问给定一个整数 d,Timur 想让你输出汽车到达 d 点所需的分钟数,向下取整。
输入格式
第一行包含一个整数 t(1≤t≤104),表示测试用例的数量。
每个测试用例的第一行包含三个整数 n、k 和 q(k≤n≤109;1≤k,q≤105),分别表示终点位置、Timur 已知时间的点的数量和询问的数量。
每个测试用例的第二行包含 k 个整数 ai(1≤ai≤n;对于每个 1≤i≤k−1,有 ai<ai+1;ak=n)。
每个测试用例的第三行包含 k 个整数 bi(1≤bi≤109;对于每个 1≤i≤k−1,有 bi<bi+1)。
接下来的 q 行,每行包含一个整数 d(0≤d≤n),表示 Timur 询问的距离。
所有测试用例中 k 的总和不超过 105,所有测试用例中 q 的总和不超过 105。
输出格式
对于每个询问,输出一个整数,表示汽车到达 d 点所需的分钟数,向下取整。
输入输出样例
输入#1
4 10 1 3 10 10 0 6 7 10 2 4 4 10 4 7 6 4 2 7 1000000000 1 1 1000000000 1000000000 99999999 6 1 3 6 5 2 6 5
输出#1
0 6 7 5 4 2 5 99999999 1 5 4
说明/提示
对于第一个测试用例,汽车从 0 点到 10 点共用 10 分钟,因此速度为每分钟 1 单位:
- 在 0 点,时间为 0 分钟。
- 在 6 点,时间为 6 分钟。
- 在 7 点,时间为 7 分钟。
对于第二个测试用例,0 到 4 点速度为每分钟 1 单位,4 到 10 点速度为每分钟 2 单位:
- 在 6 点,时间为 5 分钟。
- 在 4 点,时间为 4 分钟。
- 在 2 点,时间为 2 分钟。
- 在 7 点,时间为 5.5 分钟,答案为 5。
对于第四个测试用例,汽车速度为每分钟 1.2 单位,因此各询问的答案为:
- 在 2 点,时间为 1.66… 分钟,答案为 1。
- 在 6 点,时间为 5 分钟。
- 在 5 点,时间为 4.16… 分钟,答案为 4。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?