AT_joi2025_yo2_b.ビリヤード (Billiards)

通过率:0%

AC君温馨提醒

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

题目描述

比太郎正在玩台球。在 JOI 国的台球游戏中,会使用放置在台面上的 NN 个球,标号为 1,2,…,N1, 2, \dots, N。台面上设有用来将球打入的洞。被打入洞中的球不会回到台面上,也不能再次被打入。比太郎的目标是尽可能打入洞中的球中编号最大者。

击球是一项需要集中注意力的工作。起初,比太郎的集中力为 XX,将第 ii 个球打入洞中会消耗 AiA_i 的集中力。当比太郎的集中力小于 AiA_i 时,他不能将第 ii 个球打入洞中。

此外,在本台球规则下,对于打球的顺序也有规定。具体来说,当 Pi=−1P_i=-1(1≤i≤N1\leq i\leq N)时,第 ii 个球可以在任何时候被打入;当 Pi≠−1P_i \neq -1 时,要打入第 ii 个球,必须先将第 PiP_i 个球打入洞中。

给定比太郎的集中力和每个球的信息,请判断他能否打球,并在可以打球的情况下求出他能够打入洞中的球的最大编号。如果一个球也不能打入洞中,则输出 −1-1。

输入格式

输入格式如下:

NN XX A1A_1 A2A_2 …\dots ANA_N P1P_1 P2P_2 …\dots PNP_N

输出格式

输出比太郎能打入洞中的最大球编号,如果一个球也不能打入,则输出 −1-1。

输入输出样例

  • 输入#1

    6 7
    1 2 4 3 10 100
    -1 -1 -1 -1 -1 -1

    输出#1

    4
  • 输入#2

    5 12
    1 2 3 5 8
    -1 1 2 3 4

    输出#2

    4
  • 输入#3

    8 10
    3 1 4 1 5 9 2 6
    -1 1 2 -1 4 4 5 7

    输出#3

    7
  • 输入#4

    2 1000000000000000
    1 1
    2 1

    输出#4

    -1
  • 输入#5

    9 2468024680
    123456789 234567891 345678912 456789123 567891234 678912345 789123456 891234567 912345678
    6 5 4 -1 3 2 1 9 8

    输出#5

    6

说明/提示

子任务

  1. (66 分)N≤1000N\leq 1000,且全部 Pi=−1P_i=-1(1≤i≤N1\leq i\leq N)。
  2. (99 分)N≤1000N\leq 1000,P1=−1P_1=-1,Pi=i−1P_i=i-1(2≤i≤N2\leq i\leq N)。
  3. (1616 分)N≤1000N\leq 1000,Pi<iP_i<i(1≤i≤N1\leq i\leq N)。
  4. (2020 分)Pi<iP_i<i(1≤i≤N1\leq i\leq N)。
  5. (1919 分)N≤1000N\leq 1000。
  6. (3030 分)无附加约束。

样例解释 1

起初,比太郎的集中力为 77。
对全部 ii(1≤i≤N1\leq i\leq N)都满足 Pi=−1P_i=-1,因此比太郎只要集中力足够,可以任意顺序将球打入洞中。

例如,可以像这样操作,比太郎可以将编号为 44 的球打入洞中:

  • 首先,将第 33 个球打入洞中。比太郎的集中力减少 44,剩余 33。
  • 然后,将第 44 个球打入洞中。比太郎的集中力减少 33,剩余 00。

此外,比太郎无法将编号为 55 和 66 的球打入洞中。因此,比太郎能打入洞中的球的最大编号为 44。

该输入样例符合子任务 1,3,4,5,61, 3, 4, 5, 6 的约束条件。

样例解释 2

起初,比太郎的集中力为 1212。
例如,可以像这样操作,比太郎可以将编号为 44 的球打入洞中:

  • 首先,将第 11 个球打入洞中(P1=−1P_1 = -1,因此第 11 个球可随时打入)。
    • 集中力减少 11,剩余 1111。
  • 接着,将第 22 个球打入洞中(P2=1P_2 = 1,且第 11 个球已打入,因此可以打第 22 个球)。
    • 集中力减少 22,剩余 99。
  • 再将第 33 个球打入洞中(P3=2P_3 = 2,且第 22 个球已打入,因此可以打第 33 个球)。
    • 集中力减少 33,剩余 66。
  • 最后,将第 44 个球打入洞中(P4=3P_4 = 3,且第 33 个球已打入,因此可以打第 44 个球)。
    • 集中力减少 55,剩余 11。

比太郎无法将编号为 55 的球打入洞中。因此,比太郎能打入洞中的球的最大编号为 44。

该输入样例符合子任务 2,3,4,5,62, 3, 4, 5, 6 的约束条件。

样例解释 3

该输入样例符合子任务 3,4,5,63, 4, 5, 6 的约束条件。

样例解释 4

由于 P1=2P_1 = 2,要打入第 11 个球,必须先打第 22 个球;同理,P2=1P_2 = 1,要打入第 22 个球,必须先打第 11 个球。由此,比太郎无法打入任何球。因此,输出 −1-1。

该输入样例符合子任务 5,65, 6 的约束条件。

样例解释 5

该输入样例符合子任务 5,65, 6 的约束条件。

数据范围与约定

  • 1≤N≤200 0001 \leq N \leq 200\,000。
  • 1≤X≤10151 \leq X \leq 10^{15}。
  • 1≤Ai≤1091 \leq A_i \leq 10^9(1≤i≤N1 \leq i \leq N)。
  • 1≤Pi≤N1 \leq P_i \leq N 或 Pi=−1P_i = -1(1≤i≤N1 \leq i \leq N)。
  • Pi≠iP_i \neq i(1≤i≤N1 \leq i \leq N)。
  • 所有输入均为整数。

由 ChatGPT 5 翻译

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

首页