蓝桥杯 对称排序 知识点:排序

64 阅读1分钟

1.对称排序 - 蓝桥云课 (lanqiao.cn)

#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int a[N],b[N];
int main()
{
	int n;cin>>n;
	
	for(int i=1;i<=n;i++)
	{
	  cin>>a[i];
	  b[i]=a[i];	
	}
	
	
	sort(b+1,b+1+n);	
	
	
	
	for(int i=1;i<=n/2;i++)
	{
		if(a[i]>a[n+1-i])
		{
		   swap(a[i],a[n+1-i]);	
		}
  }
    
    bool flag=true;
      for(int i=1;i<=n;i++)
      {
      	if(a[i]!=b[i])
        {
          
          flag=false;
        }
	  }


	if(flag)cout<<"YES"<<endl;
	else cout<<"NO"<<endl; 
	
	return 0;
}