1
2026-08-19 19:27:22
发布于:浙江
**
#include<bits/stdc++.h>
using namespace std;
long long a[200005],dp[200005],b,pre1[200005],pre2[200005],ans=1;
bool f=true;
int main(){
freopen("renji.in","r",stdin);
freopen("renji.out","w",stdout);
long long n;cin>>n;
for(int i=1;i<=n;i++) cin>>a[i];
for(int i=2;i<=n;i++) if(a[i]%2!=a[i-1]%2) f=false;
if(f){
cout<<1;
return 0;}
pre1[1]=1;
for(int i=2;i<=n;i++){
if(a[i]%2!=a[i-1]%2) pre1[i]=pre1[i-1]+1;
else pre1[i]=1;
ans=max(ans,pre1[i]);}
pre2[n]=1;
for(int i=n-1;i>=1;i--){
if(a[i]%2!=a[i+1]%2) pre2[i]=pre2[i+1]+1;
else pre2[i]=1;
ans=max(ans,pre2[i]);}
if(ans==n){
cout<<n-1;
return 0;}
for(int i=2;i<n;i++){
if(a[i-1]%2!=a[i+1]%2){
ans=max(ans,pre1[i-1]+pre2[i+1]);
if(ans==9) cout<<i<<endl;}}
cout<<ans;
fclose(stdin);fclose(stdout);
return 0;}
**
这里空空如也


















有帮助,赞一个