卡在90%的小伙伴试一下这个用例


7 2 6 4 5 6
全部评论
#include<bits/stdc++.h> using namespace std; int main(){     int n;     int res=0;     cin>>n;     vector<int> a(n) , l(n,0) , r(n,0);     for(int i=0;i<n;i++){         cin>>a[i];     }     l[0]=1;     for(int i=1;i<n;i++){         if(a[i]>a[i-1]) l[i]=l[i-1]+1;         else l[i]=1;         res = max(res , l[i]+1);     }     if(l[n-1]==n) return n;     r[n-1]=1;     for(int i=n-2;i>=0;i--){         if(a[i]<a[i+1]) r[i]=r[i+1]+1;         else r[i]=1;     }          for(int i=1;i<n-1;i++){         if(l[i]==1 ){             if(a[i-1]+1<a[i+1]){                 res=max(res , l[i-1]+r[i+1]+1);             }             if(i>1 && a[i-2]+1<a[i]){                 res = max(res , l[i-2]+r[i]+1);             }         }     }     cout<<res<<endl;     return 0; }
1 回复 分享
发布于 2021-03-14 16:44
nb
点赞 回复 分享
发布于 2023-03-19 17:17 北京

相关推荐

1个小白:可以考虑投一下字节
点赞 评论 收藏
分享
评论
6
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务