2703 问题 B: 蓝桥杯2022年第十三届决赛真题-斐波那契数组(C/C++/Java组)

时间限制: 1s 内存限制: 256MB 提交: 2997 解决: 542
题目描述

如果数组 A = (a0, a1, · · · , an−1) 满足以下条件,就说它是一个斐波那契数组:

1. n ≥ 2;

2. a0 = a1

3. 对于所有的 i(i ≥ 2),都满足 ai = ai−1 + ai−2

现在,给出一个数组 A ,你可以执行任意次修改,每次修改将数组中的某个位置的元素修改为一个大于 0 的整数。请问最少修改几个元素之后,数组 A 会变成一个斐波那契数组。

输入

输入的第一行包含一个整数 n ,表示数组 A 中的元素个数。

第二行包含 n 个整数 a0, a1, · · · , an−1,相邻两个整数之间用一个空格分隔。 

输出

输出一行包含一个整数表示最少需要修改数组 A 中的几个元素之后,数组 A 可以变为一个斐波那契数组。

样例输入
5
1 2 2 4 8
样例输出
3
提示

将原数组修改为 (1, 1, 2, 3, 5),最少修改三个元素变成了一个斐波那契数组。

对于所有评测用例,2 ≤ n ≤ 105 ,1 ≤ ai ≤ 106

比赛公告

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!

不准作弊!!!