CF1408C.Discrete Acceleration

普及/提高-

通过率:0%

时间限制:3.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

There is a road with length ll meters. The start of the road has coordinate 00, the end of the road has coordinate ll.

There are two cars, the first standing at the start of the road and the second standing at the end of the road. They will start driving simultaneously. The first car will drive from the start to the end and the second car will drive from the end to the start.

Initially, they will drive with a speed of 11 meter per second. There are nn flags at different coordinates a1,a2,…,ana_1, a_2, \ldots, a_n. Each time when any of two cars drives through a flag, the speed of that car increases by 11 meter per second.

Find how long will it take for cars to meet (to reach the same coordinate).

有一条长度为 ll 米的道路。道路起点坐标为 00,终点坐标为 ll。

道路上有两辆汽车:第一辆车停在道路起点,第二辆车停在道路终点。它们将同时出发:第一辆车从起点驶向终点,第二辆车从终点驶向起点。

初始时,两辆车的速度均为 11 米/秒。道路上共有 nn 面旗帜,分别位于不同坐标 a1,a2,…,ana_1, a_2, \ldots, a_n 处。每当任意一辆车经过一面旗帜时,该车的速度增加 11 米/秒。

求两辆车相遇(即到达同一坐标)所需的时间。

输入格式

The first line contains one integer tt (1≤t≤1041 \leq t \leq 10^4): the number of test cases.

The first line of each test case contains two integers nn, ll (1≤n≤1051 \leq n \leq 10^5, 1≤l≤1091 \leq l \leq 10^9): the number of flags and the length of the road.

The second line contains nn integers a1,a2,…,ana_1, a_2, \ldots, a_n in the increasing order (1≤a1<a2<…<an<l1 \leq a_1 \lt a_2 \lt \ldots \lt a_n \lt l).

It is guaranteed that the sum of nn among all test cases does not exceed 10510^5.

第一行包含一个整数 tt(1≤t≤1041 \leq t \leq 10^4):测试用例的数量。

每个测试用例的第一行包含两个整数 nn、ll(1≤n≤1051 \leq n \leq 10^5,1≤l≤1091 \leq l \leq 10^9):旗帜的数量和道路的长度。

第二行包含 nn 个严格递增的整数 a1,a2,…,ana_1, a_2, \ldots, a_n(1≤a1<a2<…<an<l1 \leq a_1 \lt a_2 \lt \ldots \lt a_n \lt l)。

保证所有测试用例中 nn 的总和不超过 10510^5。

输出格式

For each test case print a single real number: the time required for cars to meet.

Your answer will be considered correct, if its absolute or relative error does not exceed 10−610^{-6}. More formally, if your answer is aa and jury's answer is bb, your answer will be considered correct if ∣a−b∣max⁡(1,b)≤10−6\frac{|a-b|}{\max{(1, b)}} \leq 10^{-6}.

对于每个测试用例,输出一个实数:汽车相遇所需的时间。

若你的答案的绝对误差或相对误差不超过 10−610^{-6},则视为正确。更准确地说,若你的答案为 aa,而评测机的答案为 bb,当且仅当 ∣a−b∣max⁡(1,b)≤10−6\frac{|a-b|}{\max{(1, b)}} \leq 10^{-6} 时,你的答案被视为正确。

输入输出样例

  • 输入#1

    5
    2 10
    1 9
    1 10
    1
    5 7
    1 2 3 4 6
    2 1000000000
    413470354 982876160
    9 478
    1 10 25 33 239 445 453 468 477

    输出#1

    3.000000000000000
    3.666666666666667
    2.047619047619048
    329737645.750000000000000
    53.700000000000000

说明/提示

In the first test case cars will meet in the coordinate 55.

The first car will be in the coordinate 11 in 11 second and after that its speed will increase by 11 and will be equal to 22 meters per second. After 22 more seconds it will be in the coordinate 55. So, it will be in the coordinate 55 in 33 seconds.

The second car will be in the coordinate 99 in 11 second and after that its speed will increase by 11 and will be equal to 22 meters per second. After 22 more seconds it will be in the coordinate 55. So, it will be in the coordinate 55 in 33 seconds.

In the second test case after 11 second the first car will be in the coordinate 11 and will have the speed equal to 22 meters per second, the second car will be in the coordinate 99 and will have the speed equal to 11 meter per second. So, they will meet after 9−12+1=83\frac{9-1}{2+1} = \frac{8}{3} seconds. So, the answer is equal to 1+83=1131 + \frac{8}{3} = \frac{11}{3}.

在第一个测试用例中,两辆车将在坐标 55 处相遇。

第一辆车在 11 秒后将到达坐标 11,此后其速度增加 11,变为 22 米/秒。再经过 22 秒,它将到达坐标 55。因此,它将在 33 秒时到达坐标 55。

第二辆车在 11 秒后将到达坐标 99,此后其速度增加 11,变为 22 米/秒。再经过 22 秒,它将到达坐标 55。因此,它也将在 33 秒时到达坐标 55。

在第二个测试用例中,11 秒后,第一辆车将位于坐标 11,速度为 22 米/秒;第二辆车将位于坐标 99,速度为 11 米/秒。因此,它们将在 9−12+1=83\frac{9-1}{2+1} = \frac{8}{3} 秒后相遇。故答案为 1+83=1131 + \frac{8}{3} = \frac{11}{3}。

输入解题思路,AI测评打分。不知道怎么写?

首页