You have array a1, a2, ..., an. Segment [l, r] (1 ≤ lrn) is good if ai = ai - 1 + ai - 2, for all i (l + 2 ≤ ir).

Let's define len([l, r]) = r - l + 1, len([l, r]) is the length of the segment [l, r]. Segment [l1, r1], is longer than segment [l2, r2], if len([l1, r1]) > len([l2, r2]).

Your task is to find a good segment of the maximum length in array a. Note that a segment of length 1 or 2 is always good.

Input

The first line contains a single integer n (1 ≤ n ≤ 105) — the number of elements in the array. The second line contains integers: a1, a2, ..., an (0 ≤ ai ≤ 109).

Output

Print the length of the longest good segment in array a.

Sample test(s)
Input
10
1 2 3 5 8 13 21 34 55 89

Output
10

Input
5
1 1 1 1 1

Output
2

找出符合a[i] = a[i-1]+a[i-2]的最长长度

没有考虑0的状况。。。。。。蛋疼,长久没做CF了,坑成球了。。。

#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;int a[100005],b[100005],len;int main()
{int maxn,sum;int i,n;while(~scanf("%d",&n)){sum = 0;for(i = 0; i<n; i++){scanf("%d",&a[i]);sum+=a[i];}if(sum == 0){printf("%d\n",n);continue;}if(n == 1){printf("1\n");continue;}if(n == 2){printf("2\n");continue;}len = 0;int l,r,flag = 1;for(i = 2; i<n; i++){if(a[i-1]+a[i-2] == a[i])b[len++] = 1;elseb[len++] = 0;}maxn = 0;l = 0;r = 0;for(i = 0; i<len; i++){if(b[i] == 1){if(flag){l = i;flag = 0;}elser = i;}else{if(r-l+1>maxn && r!=l)maxn = r-l+1;flag = 1;l = 0;r = 0;}}if(r-l+1>maxn && r!=l)maxn = r-l+1;printf("%d\n",maxn+2);}return 0;
}

转载于:https://www.cnblogs.com/riasky/p/3433118.html

CF#213DIV2:B The Fibonacci Segment相关推荐

  1. 《编程之美》读书笔记08:2.9 Fibonacci序列

    <编程之美>读书笔记08:2.9 Fibonacci序列 计算Fibonacci序列最直接的方法就是利用递推公式 F(n+2)=F(n+1)+F(n).而用通项公式来求解是错误的,用浮点数 ...

  2. C语言 编写程序:请将Fibonacci数列前30项中的偶数值找出来,存储到一维数组中。其中,Fibonacci数列如下:1,1,2,3,5,8,13,21,34...该数列除前两项之外,其他任意

    编写程序:请将Fibonacci数列前30项中的偶数值找出来,存储到一维数组中.其中,Fibonacci数列如下:1,1,2,3,5,8,13,21,34-该数列除前两项之外,其他任意一项都是相邻的前 ...

  3. oracle 分区表 变大,Oracle11G新特性:分区表分区默认segment大小64k变为8M

    Oracle11G新特性:分区表分区默认segment大小64k变为8M 2017-02-08 在oracle11.2创建分区表,每个分区默认大小为8M,是由_partition_large_exte ...

  4. [CS101] 转载:浅议Fibonacci(斐波纳契)数列求解

    原文转载自林健随笔的"浅议Fibonacci(斐波纳契)数列求解" Fibonacci 数列 描述了动物繁殖数量.植物花序变化等自然规律.作为一个经典的数学问题,Fibonacci ...

  5. AS91创建历史资产卡片报错:消息号 FAA_MD036 segment 00001: Status ‘In Preparation‘; no data transfer possible

    文章目录 一.业务场景-AS91 二.问题分析和解决-FAA_CMP_LDT 一.业务场景-AS91 T-CODE: AS91 公司代码:2A00 参看详细信息 消息号 FAA_MD036 CoCd ...

  6. day16:递归思想——Fibonacci 斐波那契数列

    一.斐波那契数列(Fibonacci sequence),又称黄金分割数列,这个数列最早是由印度数学家提出来的. 该序列的前几项是这样的:0,1,1,2,3,5,8,13,21,34,⋯ 在数学上,斐 ...

  7. Paper2:Fast 3D Line Segment Detection From Unorganized Point Cloud

    文献下载链接:https://download.csdn.net/download/m0_37957160/12543541 摘要: 本文提出了一种非常简单有效的算法,从大规模无序点云中进行3维线段的 ...

  8. UVa-12333:Revenge of Fibonacci 高精度

    之前自己仿照紫书上写了高精度库,完善了乘法.减法,并且通过了和C++高精度库GMP的对拍测试,并在一些OJ上过了一些高精度的模板题,代码仓库地址:https://github.com/Edward-E ...

  9. codeforces B. The Fibonacci Segment 解题报告

    题目链接:http://codeforces.com/problemset/problem/365/B 题目意思:简单来说,就是要找出最长的斐波纳契长度. 解决的方法不难,但是要注意更新左区间和右区间 ...

  10. CF题目:1238C. Standard Free2play(思维,数论)

    题目链接:题目原文 题目大意: 起初玩家站在h高度的悬崖,接下来有h个平台,每个平台都有两个状态 (隐藏或者显现),然后给出n个平台,代表这些平台的起初状态是显现 的,对于玩家当前处于的平台x,玩家如 ...

最新文章

  1. HTML样式offset[Direction] 和 style.[direction]的区别
  2. Dateset学习笔记
  3. Linux用户和HDFS和Hive权限关系
  4. C++常用方法笔记资料
  5. Wijmo 2016年蓝图
  6. 如何下载php-5.5.38.tar.gz_搭建PHP服务器php-5.3.28.tar.gz
  7. docker 其他电脑访问权限_docker – 从远程计算机连接到容器
  8. 一次性搭建Hadoop高可用集群
  9. mrtg监控短信报警 linux,[原]使用MRTG画图进行监控
  10. CodeForces 584 D.Dima and Lisa(数论)
  11. Apache CarbonData学习资料汇总
  12. pycharm 运行celery_调试celery遇到的坑
  13. sas 导入csv文件_sas导入txt、csv文件方法
  14. 无法在路径“C:\WINDOWS\TEMP\”中创建临时文件: 拒绝访问。
  15. 面试经验//Java新手如何制定优秀的职业规划?看大牛怎么说!
  16. wordart-在线生成要想的图片做为报告的门面
  17. Python——验证码输入
  18. 光遇脚本弹琴_光遇自动弹琴脚本手机版
  19. iPhone SDK 包含哪些东西?
  20. ASP.NET微信快速开发框架源码【源码分享】

热门文章

  1. php socket通信(tcp/udp)
  2. python内置方法总结
  3. C#.NET 消息机制
  4. [ZJOI2008]生日聚会
  5. css中的expression
  6. 窗口拖动后,还原窗口位置
  7. 为什么一定要重视隐式反馈?
  8. EMNLP 2021 投稿FAQ
  9. 【收藏】李纪为:初入NLP领域的一些小建议
  10. 这么好的视频不看吗?深度学习和线代,微积分