#NC2508C. 伯努利原理

伯努利原理

题目描述

伯努利原理是流体力学中的一个定义,它声称流体的动能、势能与内能的总和保持不变。托里切利定律是伯努利原理在特定场景的一种表现,即容器内液体从容器表面小孔流出时,其初始速度为 2gh\sqrt{2gh},其中 hh 为小孔中心到液面最高点的距离,gg 为重力加速度。

现在有一竖直放置在水平平面上的圆柱体容器内盛满了液体,并持续缓慢注入液体使其液面最高点高度保持不变。其柱侧面开有 nn 个小孔(编号 11nn)正在向外流水,水流做竖直方向初速度为 00、加速度为 gg 的自由落体运动(水平方向初速度如上所述)。已知液面最高点高度、各小孔中心分别到水平平面的高度差,请你分析各孔流出液体在到达平面前的水平方向移动距离,根据该距离的大小关系对这 nn 个小孔进行排序。

输入格式

第一行包含一个整数 TT (1T1051 \leq T \leq 10^5),表示测试用例的数量。

接下来是 TT 个测试用例。对于每个测试用例:

第一行包含两个整数 nnHH (1n105,2H1091 \leq n \leq 10^5, 2 \leq H \leq 10^9),表示小孔数量和液面最高点高度。

第二行包含 nn 个整数 h1,h2,,hnh_1, h_2, \ldots, h_n (1hi<H1 \leq h_i < H),其中第 ii 个数字表示编号 ii 的小孔到水平平面的高度差。

保证 TT 个测试用例中 nn 之和不超过 10610^6

输出格式

对于每个测试用例,在一行中输出 nn 个数字,表示 nn 个小孔的编号关于水平移动距离排非降序的结果。如果有多种可能,输出任意一种。

2
5 10
1 3 5 7 9
5 20
1 3 5 7 9
1 5 2 4 3
1 2 3 4 5