CF1547E.Air Conditioners
普及/提高-
通过率:0%
时间限制:2.00s
内存限制:512MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
On a strip of land of length n there are k air conditioners: the i-th air conditioner is placed in cell ai (1≤ai≤n). Two or more air conditioners cannot be placed in the same cell (i.e. all ai are distinct).
Each air conditioner is characterized by one parameter: temperature. The i-th air conditioner is set to the temperature ti.
Example of strip of length n=6, where k=2, a=[2,5] and t=[14,16].
For each cell i (1≤i≤n) find it's temperature, that can be calculated by the formula $$\min_{1 \le j \le k}(t_j + |a_j - i|),$$
where ∣aj−i∣ denotes absolute value of the difference aj−i.
In other words, the temperature in cell i is equal to the minimum among the temperatures of air conditioners, increased by the distance from it to the cell i.
Let's look at an example. Consider that n=6,k=2, the first air conditioner is placed in cell a1=2 and is set to the temperature t1=14 and the second air conditioner is placed in cell a2=5 and is set to the temperature t2=16. In that case temperatures in cells are:
- temperature in cell 1 is: min(14+∣2−1∣,16+∣5−1∣)=min(14+1,16+4)=min(15,20)=15;
- temperature in cell 2 is: min(14+∣2−2∣,16+∣5−2∣)=min(14+0,16+3)=min(14,19)=14;
- temperature in cell 3 is: min(14+∣2−3∣,16+∣5−3∣)=min(14+1,16+2)=min(15,18)=15;
- temperature in cell 4 is: min(14+∣2−4∣,16+∣5−4∣)=min(14+2,16+1)=min(16,17)=16;
- temperature in cell 5 is: min(14+∣2−5∣,16+∣5−5∣)=min(14+3,16+0)=min(17,16)=16;
- temperature in cell 6 is: min(14+∣2−6∣,16+∣5−6∣)=min(14+4,16+1)=min(18,17)=17.
For each cell from 1 to n find the temperature in it.
在一条长度为 n 的土地上,有 k 台空调:第 i 台空调位于位置 ai(1≤ai≤n)。两台或更多空调不能放置在同一位置(即所有 ai 互不相同)。
每台空调有一个参数:温度。第 i 台空调设定的温度为 ti。
长度为 n=6 的土地示例,其中 k=2,a=[2,5],t=[14,16]。
对每个位置 i(1≤i≤n),其温度由如下公式计算:
1≤j≤kmin(tj+∣aj−i∣),
其中 ∣aj−i∣ 表示差值 aj−i 的绝对值。
换言之,位置 i 的温度等于所有空调温度 tj 加上其到位置 i 的距离 ∣aj−i∣ 后所得值中的最小值。
我们来看一个例子。设 n=6,k=2,第一台空调位于位置 a1=2、温度 t1=14,第二台空调位于位置 a2=5、温度 t2=16。此时各位置的温度为:
- 位置 1 的温度为:min(14+∣2−1∣,16+∣5−1∣)=min(14+1,16+4)=min(15,20)=15;
- 位置 2 的温度为:min(14+∣2−2∣,16+∣5−2∣)=min(14+0,16+3)=min(14,19)=14;
- 位置 3 的温度为:min(14+∣2−3∣,16+∣5−3∣)=min(14+1,16+2)=min(15,18)=15;
- 位置 4 的温度为:min(14+∣2−4∣,16+∣5−4∣)=min(14+2,16+1)=min(16,17)=16;
- 位置 5 的温度为:min(14+∣2−5∣,16+∣5−5∣)=min(14+3,16+0)=min(17,16)=16;
- 位置 6 的温度为:min(14+∣2−6∣,16+∣5−6∣)=min(14+4,16+1)=min(18,17)=17。
请对从 1 到 n 的每个位置,求出其对应的温度。
输入格式
The first line contains one integer q (1≤q≤104) — the number of test cases in the input. Then test cases follow. Before each test case, there is an empty line.
Each test case contains three lines. The first line contains two integers n (1≤n≤3⋅105) and k (1≤k≤n) — the length of the strip of land and the number of air conditioners respectively.
The second line contains k integers a1,a2,…,ak (1≤ai≤n) — positions of air conditioners on the strip of land.
The third line contains k integers t1,t2,…,tk (1≤ti≤109) — temperatures of air conditioners.
It is guaranteed that the sum of n over all test cases does not exceed 3⋅105.
第一行包含一个整数 q(1≤q≤104)—— 输入中测试用例的数量。随后是各测试用例。每个测试用例之前有一空行。
每个测试用例包含三行。第一行包含两个整数 n(1≤n≤3⋅105)和 k(1≤k≤n)—— 分别表示土地条带的长度和空调的数量。
第二行包含 k 个整数 a1,a2,…,ak(1≤ai≤n)—— 表示空调在土地条带上的位置。
第三行包含 k 个整数 t1,t2,…,tk(1≤ti≤109)—— 表示各空调的温度。
保证所有测试用例中 n 的总和不超过 3⋅105。
输出格式
For each test case output n integers separated by space: temperatures of air in cells.
对于每个测试用例,输出 n 个由空格分隔的整数:各单元格中的空气温度。
输入输出样例
输入#1
5 6 2 2 5 14 16 10 1 7 30 5 5 3 1 4 2 5 3 1 4 2 5 7 1 1 1000000000 6 3 6 1 3 5 5 5
输出#1
15 14 15 16 16 17 36 35 34 33 32 31 30 31 32 33 1 2 3 4 5 1000000000 1000000001 1000000002 1000000003 1000000004 1000000005 1000000006 5 6 5 6 6 5
输入解题思路,AI测评打分。不知道怎么写?