编程题
### 问题描述 现在有 $n$ 个人,依次编号为 $1, \dots, n$。 每个人都有一个最好的朋友和真理捍卫者,其中第 $i$ 个人的最好的朋友为 $a_i$,保证 $a_i \neq i$。 对于第 $i$ 个人我们定义他的影响系数,这个谣言传播: 1. 第 $i$ 个人听说了一则谣言。 2. 每次,如果第 $j$ 个人首次听说了这则谣言,如果 $j$ 是 $i$ 的真理捍卫者,那么 $j$ 不做任何事;否则,$j$ 会打电话把这则谣言告诉他最好的朋友 $a_j$。 3. 如果没有人首次听说这则谣言那么传播过程结束。 4. 最终,听说了谣言的人数为第 $i$ 个人的影响系数。 辉神得到了 $a_1, \dots, a_n$,他想知道所有人的影响系数之和的最小值与最大值。 ### 输入格式 第一行一个正整数 $n$。 第二行包含 $n$ 个整数 $a_1, \dots, a_n$。 ### 输出格式 第一行一个整数,表示影响系数之和的最小值。 第二行一个整数,表示影响系数之和的最大值。 ### 样例输入 ``` 5 4 1 5 3 4 ``` ### 样例输出 ``` 11 18 ``` ### 评测数据规模 $2 \leq n \leq 10^5$,$1 \leq a_i \leq n$。
查看答案
赣ICP备20007335号-2