CF500A.New Year Transportation

传统题 时间 2000 ms 内存 256 MiB 5 尝试 1 已通过 1 标签

New Year Transportation

题目描述

新年即将在“Line World”到来!在这个世界里,有 n n 个编号从 1 1 n n 的格子,排列成 1×n 1 \times n 的棋盘。每个格子里都住着人。然而,在不同的格子间移动十分困难,因为很难离开自己的格子。人们希望能见到住在其他格子里的朋友。

于是,用户 tncks0121 为了庆祝新年,造了一个能够在这些格子间移动的运输系统。首先,他想到 n1 n-1 个正整数 a1,a2,...,an1 a_{1},a_{2},...,a_{n-1} 。对于每个整数 i i ,其中 1in1 1 \leq i \leq n-1 ,都有 1aini 1 \leq a_{i} \leq n-i 。接着,他建造了 n1 n-1 个传送门,编号为 1 1 n1 n-1 。第 i i 个(1in1 1 \leq i \leq n-1 )传送门连接第 i i 个格子和第 (i+ai) (i+a_{i}) 个格子,可以通过第 i i 个传送门从第 i i 个格子移动到第 (i+ai) (i+a_{i}) 个格子。不幸的是,传送门不能反向使用,也就是说不能用第 i i 个传送门从第 (i+ai) (i+a_{i}) 个格子回到第 i i 个格子。显然,由于有 1aini 1 \leq a_{i} \leq n-i 的限制,没人能通过传送门离开 Line World。

现在,我站在第 1 1 个格子,想要到达第 t t 个格子。然而,我不确定是否能够到达那里。请你判断,是否能够仅利用建造好的运输系统,从第 1 1 个格子到达第 t t 个格子。

输入格式

第一行包含两个用空格隔开的整数 n n 3n3×104 3 \leq n \leq 3 \times 10^{4} )和 t t 2tn 2 \leq t \leq n )——表示格子的数量,以及我要去的格子的编号。

第二行包含 n1 n-1 个用空格隔开的整数 a1,a2,...,an1 a_{1},a_{2},...,a_{n-1} 1aini 1 \leq a_{i} \leq n-i )。保证使用给定的运输系统,无法离开 Line World。

输出格式

如果可以通过运输系统到达格子 t t ,输出 "YES";否则输出 "NO"。

说明/提示

在第一个样例中,经过的格子为:1,2,4 1,2,4 ,因此可以成功到达格子 4 4

在第二个样例中,可以到达的格子为:1,2,4,6,7,8 1,2,4,6,7,8 ,无法到达目标格子 5 5 ,因此答案是 NO。

由 ChatGPT 5 翻译

样例

8 4
1 2 1 2 1 2 1
YES
8 5
1 2 1 2 1 1 1
NO

在线编程 IDE

建议全屏模式获得最佳体验