CF13E Holes
题目描述
小 Petya 非常喜欢玩游戏。他最喜欢玩的游戏是“洞洞”。这是一款单人游戏,规则如下:
有 $N$ 个洞排成一行,从左到右编号为 $1$ 到 $N$。每个洞都有自己的“力量”(第 $i$ 个洞的力量为 $a_{i}$)。如果你把球扔进第 $i$ 个洞,球会立刻跳到第 $i+a_{i}$ 个洞,然后继续从新洞跳出,如此反复。如果没有编号为该数的洞,球就会跳出这一行。在每一步操作中,玩家可以执行以下两种操作之一:
- 将第 $a$ 个洞的力量设置为 $b$。
- 将球扔进第 $a$ 个洞,统计球跳出这一行前所经历的跳跃次数,并记录球跳出前最后所在的洞的编号。
Petya 不擅长数学,所以,如你所料,你需要帮他完成所有的计算。
输入格式
第一行包含两个整数 $N$ 和 $M$($1 \leq N \leq 10^{5}$,$1 \leq M \leq 10^{5}$),分别表示洞的数量和操作次数。第二行包含 $N$ 个不超过 $N$ 的正整数,表示每个洞的初始力量。接下来的 $M$ 行描述了 Petya 的每一步操作。每行有以下两种格式之一:
- $0\ a\ b$
- $1\ a$
类型 $0$ 表示需要将第 $a$ 个洞的力量设置为 $b$,类型 $1$ 表示需要将球扔进第 $a$ 个洞。数字 $a$ 和 $b$ 都是不超过 $N$ 的正整数。
输出格式
对于每个类型为 $1$ 的操作,输出两整数,分别表示球跳出前最后所在的洞的编号和球跳跃的次数。每组输出占一行,两个数之间用空格隔开。
说明/提示
由 ChatGPT 4.1 翻译