#P11118. [ROI 2024] 无人机比赛 (Day 2)

    ID: 12484 远端评测题 4000ms 512MiB 尝试: 0 已通过: 0 显示难度NOI/NOI+/CTS 上传者: 标签>2024Special JudgeROI(俄罗斯)

[ROI 2024] 无人机比赛 (Day 2)

背景

翻译自 ROI 2024 D2T3。

有 nn 架无人机报名参加一个无人机比赛,第 ii 架无人机飞过一单位距离需要 tit_i 秒。

比赛在一条直线上进行,该直线上有 mm 个门,编号从 11 到 mm,第 ii 个门位于距离比赛起点 sis_i 的位置。

因为赛道大小的限制,第一场比赛只会有前 kk 架无人机参与,编号从 11 到 kk。kk 的值由裁判在比赛开始前宣布,因此此时你需要对 kk 从 11 到 nn 的比赛情况进行分析。

比赛的进行方式如下:

无人机从 00 号点开始向门移动,每架无人机有各自的速度。每架无人机都有一个存档点,即最后一个它进行了存档操作的门。最初,每架无人机的存档点都是 00 号点。

在比赛中,所有无人机从其存档点开始移动,直到有一架或多架无人机到达一个门(有可能是不同无人机同时到达不同的门)。此时,在所有到达门的无人机中,选择编号最小的无人机,对该无人机进行存档操作,将其存档点设置为当前的位置。其他无人机立即传送到其存档点。然后,比赛继续进行。

如果一架无人机在最后一个编号为 mm 的门上进行存档操作,那么它就完成了比赛。尚未完成的无人机将传送到其存档点继续比赛。当所有无人机都完赛时,比赛结束。

题目描述

传送是一个非常耗能的过程。为了准备比赛,你需要了解所有无人机在比赛结束之前一共将进行多少次传送。设 ckc_k 表示当前 kk 架无人机参与比赛时,所有无人机的总传送次数,则你需要求出 c1,c2,…,cnc_1, c_2, \dots, c_n 的值。

输入格式

第一行包含两个整数 nn 和 mm,分别表示无人机的数量和门的数量(2≤n≤1500002 \leq n \leq 150000,1≤m≤1500001 \leq m \leq 150000)。

第二行包含 nn 个正整数 t1,t2,…,tnt_1, t_2, \dots, t_n,tit_i 表示第 ii 架无人机飞过一单位距离所需的秒数(1≤ti≤1091 \leq t_i \leq 10^9)。

第三行包含 mm 个正整数 s1,s2,…,sms_1, s_2, \dots, s_m,sis_i 表示第 ii 个门的位置(1≤s1<s2<⋯<sm≤1500001 \leq s_1 < s_2 < \dots < s_m \leq 150000)。

输出格式

输出 nn 个整数 c1,c2,…,cnc_1, c_2, \dots, c_n,意义见题目描述。

3 3
1 2 3
1 3 6
0
4
11
3 3
3 2 1
1 3 6
0
5
13
2 5
2 1
1 3 4 6 7
0
6

提示

样例 11 解释:

当 k=1k=1,无需任何传送,因为只有一架无人机参加,只有它在一直存档。

当 k=2k=2 时,整个比赛的过程如下图所示。

当 k=3k=3 时,整个比赛的过程如下图所示。

各子任务特殊性质表格:

子任务 分值 n≤n\le m≤m\le ti≤t_i\le si≤s_i\le 其它特殊性质
11 55 22 5050 100000100000 100000100000
22 77 5050
33 1313 10001000 55
44 99 100000100000 100000100000 si+1−si=s1s_{i+1}-s_i=s_1
55 88 所有 tit_i 相等
66 1010 100100
77 55 100000100000 22
88 77 m=2m=2 100000100000
99 66 1000010000 100000100000
1010 5000050000
1111 88 100000100000
1212
1313