#A666P290. 检查排列

检查排列

问题描述

火焰车正在研究一个数列问题。他得到了一个长度为 NN 的数列 A=(A1,A2,,AN)A = (A_1, A_2, \dots, A_N),其中每个元素都是从 11NN 之间的整数。

火焰车想知道,这个数列是否可以通过重新排列 (1,2,,N)(1, 2, \dots, N) 得到。也就是说,数列 AA 是否是这些数字的一个排列?

请帮助火焰车判断这个问题。

输入格式

  • 第一行包含一个整数 NN,表示数列的长度。
  • 第二行包含 NN 个整数,表示数列中的元素:A1,A2,,ANA_1, A_2, \ldots, A_N

输出格式

  • 如果数列 AA(1,2,,N)(1, 2, \dots, N) 的一个排列,则输出 Yes;否则输出 No
5
3 1 2 4 5
Yes
6 
3 1 4 1 5 2 
No  
3 
1 2 3 
Yes  
1 
1 
Yes  

样例解释

样例 #1:

序列 (3, 1, 2, 4, 5) 可以通过重新排列得到 (1, 2, 3, 4, 5),因此输出 Yes

样例 #2:

无论如何重新排列 (1, 2, 3, 4, 5, 6) 都无法得到 (3, 1, 4, 1, 5 ,2),因为存在重复元素,因此输出 No

数据范围

  • 1N1031 \leq N \leq {10^3}
  • 每个数字满足:1AiN1 \leq A_i \leq N