#include<bits/stdc++.h> using namespace std; int main() { int A[1000],B[1000],C[1000]; int n,ant=0,ans=1; cin>>n; for(int i=1;i<=n;i++) { cin>>A[i]; } for(int i=1;i<=n;i++) { if(A[i]>A[i-1]) { ant+=1; B[i]=ant; if(i!=n) ans=max(ans,B[i]+1); else ans=max(ans,B[i]); } else { B[i]=1; ant=1; } } ant=0; for(int i=n;i>=1;i--) { if(A[i]<A[i+1]) { ant+=1; C[i]=ant; if(i!=n) ans=max(ans,C[i]+1); else ans=max(ans,C[i]); } else { C[i]=1; ant=1; } } for(int i=1;i<=n;i++) { if(A[i+1]-A[i-1]>1) ans=max(ans,B[i-1]+C[i+1]+1); }cout<<ans<<endl; }
自己写几个数试一下就能出来。
全部评论
(1) 回帖