这是0分代码:
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll i,j;
ll lt,t,ans,ans1;
int main(){
ll n;scanf("%lld",&n);
ans=0;ans1=0;lt=0;
for (i=1;i<=n;i++){
scanf ("%lld",&t);
if (t=lt+1){ans1++;}
else if (ans1>ans){ans=ans1;ans1=1;}
else {ans1=1;}
lt=t;
}
printf("%lld",max(ans,ans1));
}
而这是100分代码:
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll i,j;
ll lt,t,ans,ans1;
int main(){
// freopen("P1048.txt","r",stdin);
ll n;scanf("%lld",&n);
ans=0;ans1=0;lt=0;
for (i=1;i<=n;i++){
scanf ("%lld",&t);
if (t==lt+1){ans1++;}
else if (ans1>ans){ans=ans1;ans1=1;}
else {ans1=1;}
lt=t;
}
printf("%lld",max(ans,ans1));
}
发现差别就是:“=”!
注意一个小的像芝麻的问题,if语句里等号要写两遍!
当然只有我这种(那个词叫啥来着)的人,才会犯这种低级错误吧