Jzoj4776 排序

给你一个序列,问你能不能只交换2个元素使得它有序

解法:扫一遍即可,如果可以,那么逆序对<=1

include<stdio.h>
int main(){
  int n,a,b,num;
  scanf("%d%d",&n,&a);  b=a;
  for(int i=2;i<=n;i++){ scanf("%d",&b);  if(b<a) num++; b=a; }
  if(num<=1) puts("YES"); else puts("NO");
}