编程题
### 问题描述 吴邪和王胖子决定前往青铜古树寻找三叔的下落! 在青铜古树中,共有 $n$ 个房间排成一排。其中第 $i$ 个房间的编号为 $a_i$,两人将从编号为 $1$ 的房间开始找寻。 每个房间都有着关于三叔的线索,且这些线索之间相互关联。具体地,对于编号为 $i$($i>1$) 的房间,只有当编号为 $[1, i-1]$ 之间的所有的房间线索都被解开时,该房间的线索才能被解开。而一旦他们获得了所有房间的线索,就能得知三叔的下落。 然而,王胖子在进入古树时不慎被怪物抓伤,伤口感染程度为 $k$。在离开之前,必须将他的感染程度成功降至 $0$,否则将会产生意想不到的后果。 由于时间紧迫,吴邪无法停下为王胖子净化,两人将仍然按照最优策略寻找线索(移动步数最少),但他可以在行动前在任意两个相邻的房间之间建立净化站点。每当他们从一个房间经过净化站点到达另一个房间时,如果王胖子的感染程度仍为正数,就会减少 $1$。 请你帮助吴邪计算出至少需要建立多少个净化站点,才能确保在离开青铜古树时将王胖子的感染程度降为 $0$。如果无法做到这一点,则输出 $-1$。 **注意**:在任意两个相邻房间之间最多只能建立 $1$ 个净化站点。 ### 输入格式 第一行输入两个整数 $n,k(2 \leq n \leq 2 \times 10^5,1 \leq k \leq 10^9)$ 表示房间数量和王胖子受感染程度。 第二行输入 $n$ 个整数 $a_1,a_2,a_3,\dots,a_n(1 \leq a_i \leq n)$ 表示每个房间的编号,保证 $a$ 为一个 $1 \sim n$ 的排列。 ### 输出格式 输出一个整数表示答案。 ### 样例输入 ```text 5 6 1 4 3 2 5 ``` ### 样例输出 ```text 2 ``` ### 样例说明 可以在 $(4,3)$ 号房间和 $(3,2)$ 号房间之间建立净化站。 1. 从 $1$ 号房间走到 $2$ 号房间时,会经过 $2$ 个净化站,此时受感染程度降为 $4$。 2. 从 $2$ 号房间走到 $3$ 号房间时,会经过 $1$ 个净化站,此时受感染程度降为 $3$。 3. 从 $3$ 号房间走到 $4$ 号房间时,会经过 $1$ 个净化站,此时受感染程度降为 $2$。 4. 从 $4$ 号房间走到 $5$ 号房间时,会经过 $2$ 个净化站,此时受感染程度降为 $0$。
查看答案
赣ICP备20007335号-2