第四个点WA了 求助大佬帮忙看一下码的思路有什么问题:
#include <iostream>
using namespace std;
int main(){
int n,i,s=0;//s为连号的长度
cin>>n;
int A[n+10];
for(i=0;i<n;i++)//输入数组
cin>>A[i];
int rec_first=0,rec_end=0,rec=0;//每一个连号的开头下标、结尾下标和长度
for(i=1;i<n-1;i++)
if( A[i]-A[i-1]==1 && A[i+1]-A[i]==1 ){
if( A[i-1]-A[i-2]!=1 && A[i]-A[i-1]==1)//找到开头下标的位置
rec_first=i-1;
if(A[i+1]-A[i]==1 && A[i+2]-A[i+1]!=1){
rec_end=i+1;//找到结尾下标的位置
if(rec_end-rec_first+1>=rec){//计算连号的长度并与之前的连号相比较
s=rec_end-rec_first+1;
rec=s;
}
}
}
if(s) cout<<s<<endl;//如果最长连号含有3个及3个以上元素 那么就输出这个长度
else{//如果最长连号只有两个元素或者没有连号
for(i=0;i<n-1;i++){
if(A[i]-A[i+1]==-1){
s=2;
break;
}
}
cout<<s<<endl;
}
return 0;
}