题目大意:给一组数,判断是否是先递增后递减的数组,其中当达到最大值时,可保持平稳
思路:先找出最大的元素位置,判断其左边是否单调递增,在判断右边也是否是单调递减
#include<iostream>
#include<limits>
using namespace std;
int main(){
int A[110],n,i,j,k,max,ans;
cin>>n;
max=0;
for(i=1;i<=n;i++){
cin>>A[i];
if(A[i]>max){
j=i;
max=A[i];
}
}
ans=1;
for(i=1;i<j;i++){
if(A[i]>=A[i+1]) ans=0;
}
k=1000;
for(i=j;i<=n;i++){
if(A[i]!=A[j]){
k=i;
break;
}
}
for(i=k;i<n;i++){
if(A[i]<=A[i+1]) ans=0;
}
if(ans) cout<<"YES"<<endl;
else cout<<"NO"<<endl;
return 0;
}