题解:P15705 [2018 KAIST RUN Spring] Zigzag
star_field · · 题解
挑战 (其实是懒得写了)。
思路
注意数据范围我们可以
代码
这是
#include<bits/stdc++.h>
#define ll long long
#define endl '\n'
using namespace std;
const int N=5005;
ll n,a[N],ans=-1;
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i];
for(int i=1;i<n;i++){
for(int j=i+1;j<=n;j++){ //暴力枚举区间
if(j>=i+2&&((a[j-2]>=a[j-1]&&a[j-1]>=a[j])||(a[j-2]<=a[j-1]&&a[j-1]<=a[j]))){ //判断合法性
ans=max(ans,j-i+0ll); //区间长是 j-i+1,去掉一个不合法数字为 j-i
break;
}
if(j==n) ans=max(ans,j-i+1ll);
}
}
cout<<ans;
return 0;
}