第一段代码:
#include<iostream>
using namespace std;
int main()
{
int n,m=1,max=0;
cin>>n;
long long a[n];
for(int i=0;i<n;i++)
{
cin>>a[i];
}
for(int i=1;i<=n;i++)
{
if(a[i]==a[i-1]+1)
{
m++;
}
else{
if(m>max)
{
max=m;
m=1;
}
}
}
cout<<max<<endl;
return 0;
}
第二段代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
long n,m=1,h=1;
cin>>n;
long long a[n];
for(int i=0;i<n;i++)
{
cin>>a[i];
}
for(int i=0;i<n-1;i++)
{
if(a[i+1]==a[i]+1)
m++;
if(((a[i+1]!=a[i]+1)&&(m>h))||m==n)
{
h=m;
m=1;
}
if((a[i+1]!=a[i]+1)&&(m<=h))
{
m=1;
}
}
cout<<h<<endl;
return 0;
}
为什么第一段代码存在错误
Wrong Answer.wrong answer On line 1 column 1, read 5, expected 1.
两段代码有什么区别?