#ABC135B. 交换一次

交换一次

交换一次

题目描述

有把 {1, 2, ..., N1,\ 2,\ ...,\ N} 重新排列得到的数列 pp = {p1, p2, ..., pNp_1,\ p_2,\ ...,\ p_N}。

你最多只能执行一次以下操作:选择整数 i,ji, j (1i<jN1 \le i \lt j \le N),交换 pip_ipjp_j。也可以不执行操作。

如果能把 pp 变成升序则输出 YES,否则输出 NO

输入格式

输入按以下格式从标准输入给出:

NN
p1p_1 p2p_2 ...... pNp_N

输出格式

如果能把 pp 变成升序则输出 YES,否则输出 NO

样例

5
5 2 3 4 1
YES

交换 p1p_1p5p_5,可以把 pp 变成升序。

5
2 4 3 5 1
NO

这种情况下,无论执行什么操作都无法把 pp 变成升序。

7
1 2 3 4 5 6 7
YES

因为 pp 一开始就是升序,所以不需要执行操作。

数据范围

  • 输入均为整数
  • 2N502 \le N \le 50
  • pp 是把 {1, 2, ..., N1,\ 2,\ ...,\ N} 重新排列得到的数列
难度 普及-
通过率
尝试 0
已通过 0
ID
1753
类型
传统题
Time Limit
2000ms
Memory Limit
1024MiB
上传者
标签