#P10693. [SNCPC2024] 换座位

[SNCPC2024] 换座位

题目描述

树王国在筹备着举办一次盛大的庆典!

Shirost 作为树王国的庆典设计师,准备邀请 nn 个嘉宾来参加本次庆典。庆典上一共准备了 2n2n 个座位,一个座位最多只能坐一个人且一个人恰好坐一个座位。Shirost 初步计划将第 ii 个嘉宾安排在第 ii 个座位上。但是总统调查了这 nn 个嘉宾的意愿,第 ii 个嘉宾的心仪座位为第 aia_i 个座位。但除非能坐到心仪座位上,否则他们只愿意坐在原来的座位上。总统希望 Shirost 能够修改计划,使得尽可能多的嘉宾坐在他们的心仪座位上。

形式化的讲,你需要找到长为 nn 的数组 bib_i (1in,1bi2n1 \leq i \leq n, 1 \leq b_i \leq 2n) 满足 ij,bibj\forall i \neq j,b_i \neq b_ji,bi=i\forall i, b_i=ibi=aib_i=a_i。且最大化 bi=aib_i = a_i 的个数。

你只需要输出最多的个数即可。

输入格式

输入第一行为一个整数 nn (1n1051 \leq n \leq 10^{5}),表示总人数。

第二行 nn 个整数 aia_i (1ai2n1 \leq a_i \leq 2n),由空格隔开,表示每个人的心仪座位。

输出格式

输出仅一行一个整数,表示最多有多少嘉宾坐在他们的心仪座位上。

5
2 6 4 5 3

5

提示

对于第一个样例,所有人都可以换到自己的心仪座位。