P10077 [GDKOI2024 普及组] 读书

题目描述

Zayin 是一个热爱读书的学生。 最近,Zayin 收到了一本有 $n$ 个章节的书,其中每个章节 $i$ 都有一个限制:她必须至少阅读了其他 $a_i$ 个 章节,才能够获取足够的智慧来读懂该章节。 每天,Zayin 都会从头到尾开始阅读这本书。对于她还不能读懂的章节(由于限制)或是已经阅读过的章节,Zayin 会在那天跳过它们。 现在,Zayin 想要知道至少需要多少天才能阅读完所有的 $n$ 个章节。

输入格式

第一行包含两个整数 $d, n$,表示测试点编号和章节数。 第二行包含 $n$ 个整数 $a_i (0 \leq a_i < n)$,表示限制。

输出格式

输出一行包含一个整数,表示最少需要的天数。 如果 Zayin 无法阅读完所有的 $n$ 个章节,输出 $-1$。

说明/提示

**本题使用子任务捆绑测试。** 对于所有测试数据,保证 $1 \leq n \leq 5 \times 10^5 , 0 \leq a_i < n$。 - Subtask 1(10%):$1 ≤ n ≤ 10$,$d = 1$。 - Subtask 2(10%):$1 ≤ n ≤ 500$,$d = 2$。 - Subtask 3(20%):$1 ≤ n ≤ 5000$,$3 \leq d \leq 4$。 - Subtask 4(20%):$1 ≤ n ≤ 10^5$,$5 \leq d \leq 6$。 - Subtask 5(40%):$1 ≤ n ≤ 5 \times 10^5$,$7 \leq d \leq 10$。