CF2052J.Judicious Watching

普及+/提高

通过率:0%

AC君温馨提醒

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

题目描述

Jill 非常喜欢在大学里取得好成绩,因此她从不拖延作业的截止日期。但她更喜欢和她最好的朋友 Johnny 一起追剧并讨论剧情。不幸的是,今天她需要在这两项活动之间做出选择!

Jill 需要完成 nn 个作业任务。第 ii 个任务需要 aia_i 分钟完成,并且必须在从现在起最多 did_i 分钟内提交给老师。此外,还有 mm 集新剧集,Johnny 和 Jill 想要一起讨论。第 jj 集剧集时长为 ljl_j 分钟。Jill 可以以任意顺序完成作业任务,但她必须按照顺序观看剧集。无论是完成作业还是观看剧集,一旦开始都不能中断。

Johnny 和 Jill 需要约定一个时间 tkt_k 来通话讨论剧集。他们还没确定具体时间。对于每一个可能的时间,请计算 Jill 在该时间之前最多能观看多少集剧集,并且仍然能够按时完成所有 nn 个作业任务。

注意,在本题中,假设和 Johnny 的讨论不会占用 Jill 的显著时间,即使 Jill 正在做作业,也可以在 tkt_k 时刻进行讨论。

输入格式

输入包含若干组测试数据。第一行为测试组数 TT(1≤T≤10001 \le T \le 1000)。

每组测试数据的第一行为三个整数 nn(1≤n≤200 0001 \le n \le 200\,000)——作业任务数,mm(1≤m≤200 0001 \le m \le 200\,000)——剧集数,qq(1≤q≤200 0001 \le q \le 200\,000)——可能的通话时间数。

第二行为 nn 个整数 aia_i(1≤ai≤1091 \le a_i \le 10^9),表示完成每个作业所需的时间。下一行为 nn 个整数 did_i(1≤di≤10151 \le d_i \le 10^{15}),表示每个作业的截止时间。再下一行为 mm 个整数 ljl_j(1≤lj≤1091 \le l_j \le 10^9),表示每集剧集的时长(按观看顺序给出)。最后一行为 qq 个整数 tkt_k(1≤tk≤10151 \le t_k \le 10^{15}),表示每个可能的通话时间。

保证所有作业都可以在各自截止时间内完成。

所有测试数据中 nn、mm、qq 的总和不超过 200 000200\,000。

输出格式

对于每组测试数据,输出一行 qq 个整数,依次表示对于每个可能的通话时间 tkt_k,Jill 最多能观看的剧集数。

输入输出样例

  • 输入#1

    2
    1 2 3
    10
    15
    5 5
    5 15 20
    3 4 5
    8 100 8
    10 150 20
    2 32 1 1
    9 200 51 50 10

    输出#1

    1 1 2
    1 4 2 2 1

说明/提示

由 ChatGPT 4.1 翻译

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

首页