![]()
import java.util.Scanner;
import java.util.Arrays;
public class Main {
public static void main(String[] args)
{
Scanner scanner = new Scanner(System.in);
//思路:对数据存放两个数组,一个存原始顺序,一个用来排序
//目的是找到一个片段,将其翻转后数组成为递增序列
while(scanner.hasNext())
{
int n = scanner.nextInt();
int[] arr = new int[n];
int[] copy = new int[n];
for(int i = 0;i<n;i++)
{
arr[i] = scanner.nextInt();
copy[i] = arr[i];
}
Arrays.sort(copy);
//使用一个已经排好序的数组与原数据进行左右指针的比对,在左边/右边找到第一个不是递增的位置
int left = 0,right = n-1;
while(left<n && arr[left] == copy[left])
left++;
while(right>=0&&arr[right] == copy[right])
right--;
int i;
//right-left即为需要改变顺序才能变成升序的片段
for(i = 0;i<=right-left;i++)
{
//对其进行双端匹配,如果一个位置不同则直接跳出
if(copy[left+i] != arr[right-i])
break;
}
if(i>right-left)//证明已经对比完子数组的全部,都一致
{
System.out.println("yes");
}
else {
System.out.println("no");
}
}
}
}