[蓝桥杯 2022 国 A] 最大公约数
题目描述
给定一个数组,每次操作可以选择数组中任意两个相邻的元素 $x, y$ 并将其中的一个元素替换为 $\gcd(x, y)$,其中 $\gcd(x, y)$ 表示 $x$ 和 $y$ 的最大公约数。请问最少需要多少次操作才能让整个数组只含 $1$。
输入输出格式
输入格式
输入的第一行包含一个整数 $n$,表示数组长度。
第二行包含 $n$ 个整数 $a_1, a_2,\dots, a_n$,相邻两个整数之间用一个空格分隔。
输出格式
输出一行包含一个整数,表示最少操作次数。如果无论怎么操作都无法满足要求,输出 $-1$。
输入输出样例
输入样例 #1
3
4 6 9
输出样例 #1
4
说明
**【评测用例规模与约定】**
- 对于 $30\%$ 的评测用例,$n \leq 500$,$a_i \leq 1000$;
- 对于 $50\%$ 的评测用例,$n \leq 5000$,$a_i \leq 10^6$;
- 对于所有评测用例,$1 \leq n \leq 10^5$,$1 \leq a_i \leq 10^9$。
蓝桥杯 2022 国赛 A 组 D 题。