QOJ.ac

QOJ

Time Limit: 1.0 s Memory Limit: 256 MB Total points: 100

#13158. 戳气球

Statistics

Ayu 正在参加 ABC 2018(Arranging Blocks Competition)。在本次比赛中,每位参赛者有 $M$ 分钟的时间和 $N$ 个任务,这些任务必须按给定顺序逐一解决。解决任务数量最多的参赛者获胜。本次比赛对 ICPC 参赛者来说有趣的地方在于,它采用了与 ICPC 类似的鼓励方式,即气球。具体来说,每当参赛者解决一个任务时,他/她就会获得一个气球。

Ayu 确信她可以击败所有其他参赛者,除了她的一位劲敌 Budi。Ayu 很了解自己的能力,即她确切地知道自己完成特定任务需要多长时间。不出所料,Ayu 也非常了解 Budi 的能力(他们成为对手是有原因的)。设有两个整数数组 $A_{1..N}$ 和 $B_{1..N}$。$A_i$ 表示 Ayu 完成第 $i$ 个任务所需的时间(以分钟为单位),而 $B_i$ 表示 Budi 完成第 $i$ 个任务所需的时间(以分钟为单位)。

有趣的部分来了。Ayu 知道 Budi 对任何令人不安的巨大声响(如气球爆裂声)都非常敏感。每当 Budi 受到惊吓(由于气球爆裂)时,他就会失去注意力,必须重做他正在进行的任务。例如,假设 Budi 完成某个任务需要 10 分钟。如果气球在第 7 分钟爆裂,那么 Budi 会在第 7 分钟(在他 10 分钟的进度中)重做该任务,导致他完成该任务需要 $7 + 10 = 17$ 分钟。如果两个气球分别在第 7 分钟和第 13 分钟爆裂,那么 Budi 会在第 7 分钟(在他 10 分钟的进度中)重做该任务,在第 6 分钟(在他 10 分钟的进度中)再次重做,最终在 $7 + 6 + 10 = 23$ 分钟时完成任务。如果气球爆裂的时间正好是 Budi 应该完成任务的时间(例如本例中的第 10 分钟),那么 Budi 也将无法完成该任务。因此,在这种情况下,Budi 必须再花费 10 分钟(总共 $10 + 10 = 20$ 分钟)来完成该特定任务。

Ayu 计划利用 Budi 的弱点来击败他,即 Ayu 将战略性地使用她从解决任务中获得的气球(在整数分钟时引爆它们)。你的任务是找出 Ayu 是否有可能使她解决的任务数量严格多于 Budi。如果可能,你应该输出一个(任意)可行的计划,说明她应该在何时引爆气球。

注意,如果 Ayu 在第 $M$ 分钟正好完成一个任务,则该任务被视为已解决。同样,如果 Budi 在第 $M$ 分钟正好完成一个任务,则该任务也被视为已解决,除非 Ayu 决定在同一时间引爆气球。此外,Ayu 可以在收到气球后立即引爆它。Ayu 不能在同一分钟内引爆超过一个气球。她也不能在第 $M$ 分钟之后引爆任何气球。

输入格式

输入的第一行包含两个整数:$N$ 和 $M$ ($1 \le N \le 100000; 1 \le M \le 10^9$),分别代表任务数量和比赛时长。第二行包含 $N$ 个整数 $A_i$ ($1 \le A_i \le 10^9$),代表 Ayu 完成第 $i$ 个任务所需的时间。第三行包含 $N$ 个整数 $B_i$ ($1 \le B_i \le 10^9$),代表 Budi 完成第 $i$ 个任务所需的时间。

输出格式

如果 Ayu 不可能通过使解决的任务数量严格多于 Budi 来赢得比赛,则直接输出 $-1$。否则,输出的第一行包含一个整数 $K$,代表 Ayu 需要引爆的气球数量。下一行包含 $K$ 个整数(每个整数由单个空格分隔),按升序排列,代表 Ayu 应该引爆气球的分钟数。你可以输出任何有效的配置,只要它满足:Ayu 在引爆气球时至少拥有一个气球,Ayu 不会在比赛结束后引爆气球,Ayu 不会在同一分钟内引爆超过一个气球,并且该配置使 Ayu 解决的任务数量多于 Budi。

样例

样例输入 1

4 30
9 10 10 10
4 10 5 10

样例输出 1

2
12 19

说明 1

Ayu 在第 9 分钟获得她的第一个气球,而此时 Budi 已经完成了第一个任务(在第 4 分钟),并且正在进行第二个任务,还需要 5 分钟(预计在第 14 分钟完成)。Ayu 在第 12 分钟引爆了她的第一个气球,即在 Budi 完成第二个任务前 2 分钟,导致 Budi 重做第二个任务。现在,Budi 完成第二个任务的预计时间是第 22 分钟。在第 19 分钟,Ayu 获得她的第二个气球并立即引爆,导致 Budi 再次重做第二个任务。现在,Budi 完成第二个任务的预计时间是第 29 分钟。在第 29 分钟,Ayu 获得她的第三个气球,与此同时,Budi 也完成了第二个任务。比赛在第 30 分钟结束。总共,Ayu 解决了 3 个任务,而 Budi 只完成了 2 个任务。

样例输入 2

5 50
10 10 10 10 10
15 12 19 17 20

样例输出 2

0

样例输入 3

5 10
15 10 5 5 5
9 10 10 10 10

样例输出 3

-1

说明 3

Ayu 在比赛期间无法完成第一个任务,因此她没有气球可以使用。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.