CF365B The Fibonacci Segment 题解
思路
思路蛮简单,因为“好的”必须是要连续的,所以可以直接暴力枚举一遍序列。如果当前数满足条件就计数器累加,不满足条件就取 \(\max\),然后计数器就重置为 \(2\) 即可,注意,长度为 \(\leq 2\) 的数列肯定是“好的”,直接输出 \(n\) 即可。
#include <bits/stdc++.h>
using namespace std;
int n,tot=2,ans,a[100001];
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;++i) scanf("%d",&a[i]);
for(int i=3;i<=n;i++)
{
if(a[i]==a[i-1]+a[i-2]) tot++;
else tot=2;
ans=max(ans,s);
}
if(n<=2)
printf("%d",n);
else
printf("%d",ans);
return 0;
}