P12101 [NERC2024] Judicious Watching

题目描述

Jill 喜欢在大学里获得好成绩,所以她从不拖延作业的截止日期。但她更喜欢观看剧集并与她的好朋友 Johnny 讨论。而不幸的是,今天她必须在这两项活动之间做出选择! Jill 需要完成 $n$ 个作业任务。第 $i$ 个任务需要 $a_i$ 分钟来完成,并且必须在 $d_i$ 分钟内提交给老师。此外,还有 $m$ 集 Johnny 和 Jill 想要讨论的新剧集。第 $j$ 个剧集的时长是 $l_j$ 分钟。Jill 可以按任何顺序完成作业任务,但她需要按顺序观看剧集。开始后,无论是完成作业任务还是观看剧集,都不能中断。 Johnny 和 Jill 需要就一个时间 $t_k$ 达成一致,以便讨论剧集。她们尚未确定选择哪个时间。对于每个可能的时间,计算 Jill 在该时间之前可以观看的最大剧集数,同时仍能按时完成所有的作业任务。 注意:在这个问题中,我们假设与 Johnny 的剧集讨论不会占用 Jill 太多时间,并且**即使 Jill 正在完成作业任务,也可以在此时进行讨论**。

输入格式

输入包含多个测试用例。输入的第一行是测试用例的数量 $T$($1 \le T \le 1\,000$)。 每个测试用例包含以下内容: - 第一行包含三个整数 $n$($1 \le n \le 200\,000$)——作业任务的数量,$m$($1 \le m \le 200\,000$)——剧集的数量,$q$($1 \le q \le 200\,000$)——讨论的可能时间数量。 - 第二行包含 $n$ 个整数 $a_i$($1 \le a_i \le 10^9$)——完成第 $i$ 个作业任务所需的分钟数。 - 第三行包含 $n$ 个整数 $d_i$($1 \le d_i \le 10^{15}$)——每个任务的截止时间。 - 第四行包含 $m$ 个整数 $l_j$($1 \le l_j \le 10^9$)——按顺序观看的剧集的时长。 - 第五行包含 $q$ 个整数 $t_k$($1 \le t_k \le 10^{15}$)——可能的讨论时间。 可以确保所有作业都可以在各自的截止时间内完成。 所有测试用例中,$n$、$m$ 和 $q$ 的总和不超过 $200\,000$。

输出格式

对于每个测试用例,输出一行,包含 $q$ 个整数——对于每个可能的时间 $t_k$,Jill 在该时间之前可以观看的最大剧集数。