CF729E Subordinates

题目描述

一个公司有 $n$ 名员工,每人都有一个唯一的编号,从 $1$ 到 $n$。其中恰好有一人是老板,他的编号为 $s$。除了老板之外,每位员工都有且只有一位直接上级。 有一个要求让每位员工上报自己有多少上级(不仅仅是直接上级)。员工的上级包括他的直接上级,其直接上级的直接上级,以此类推。例如,如果公司有三名员工,其中第一位是老板,第二位员工的直接上级是第一位,第三位员工的直接上级是第二位,则第三位员工共有两位上级,其中一位是直接上级,一位不是。老板是除他自己外所有员工的上级。 有些员工因为匆忙报错了人数。请你计算可能报错的员工最少有多少个。

输入格式

第一行包含两个正整数 $n$ 和 $s$($1 \leq n \leq 2 \cdot 10^{5}$,$1 \leq s \leq n$),分别表示员工人数和老板的编号。 第二行包含 $n$ 个整数 $a_1, a_2, ..., a_n$($0 \leq a_i \leq n-1$),其中 $a_i$ 表示编号为 $i$ 的员工上报的上级人数(不仅仅是直接上级)。

输出格式

输出可能报错的员工最少有多少个。

说明/提示

在第一个样例中,可能只有第一位员工报错了。对应关系如下: - 第一位员工的直接上级是第二位员工, - 第三位员工的直接上级是第一位员工, - 第二位员工是老板。 由 ChatGPT 5 翻译