E. 量子共振

    传统题 1000ms 256MiB

量子共振

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

量子共振

题目背景

在 30XX 年,人类发明了“量子谐波传送技术”。作为星际联邦的特级探员,你正在渗透敌方的一座线性防御基地。

题目描述

基地的内部是一条笔直的长廊,地面上铺设了 nn 块充能地板,编号依次为 11 到 nn。每块地板 ii 都在以特定的振动频率 aia_i 进行量子震荡。

你的目标是从入口(地板 11)尽快移动到核心控制室(地板 nn)。由于量子物理的限制,你只能在两块地板 ii 和 jj 之间进行一次“相位跳跃”,当且仅当同时满足以下两个物理法则:

  1. 谐波纠缠法则:

    起跳点和落点的振动频率必须存在共鸣。数学上定义为:两个频率必须拥有至少一个共同的质因子。

    即:gcd⁡(ai,aj)>1\gcd(a_i, a_j) > 1。

  2. 隧穿距离限制:

    你的量子推进器能量有限,单次跳跃的直线距离不能超过 kk。

    即:∣i−j∣≤k|i - j| \le k。

每次跳跃消耗 1 个单位的时间。请计算出抵达地板 nn 所需的最少时间。如果物理上无法抵达,请输出 -1。

输入格式

第一行包含两个整数 nn 和 kk (2≤n≤2×105,1≤k≤n)(2 \le n \le 2 \times 10^5, 1 \le k \le n),分别代表地板的数量和最大跳跃距离。

第二行包含 nn 个整数 a1,a2,…,ana_1, a_2, \dots, a_n (1≤ai≤106)(1 \le a_i \le 10^6),表示第 ii 块地板的振动频率。

输出格式

输出一个整数,表示从地板 11 跳跃到地板 nn 的最少次数。若无法到达,输出 -1。

输入输出样例 #1

输入 #1

6 2
6 10 15 21 14 9

输出 #1

3

输入输出样例 #2

输入 #2

5 1
2 3 5 7 11

输出 #2

-1

输入输出样例 #3

输入 #3

9 3
5 30 21 36 21 25 30 24 4

输出 #3

4

说明/提示

对于样例 1,路径:1→3→4→61 \to 3 \to 4 \to 6。

对于样例 3,一种可行路径:

  1. 1→21 \to 2:∣1−2∣=1≤3|1-2|=1 \le 3, gcd⁡(5,30)=5\gcd(5, 30)=5.

  2. 2→42 \to 4:∣2−4∣=2≤3|2-4|=2 \le 3, gcd⁡(30,36)=6\gcd(30, 36)=6.

  3. 4→74 \to 7:∣4−7∣=3≤3|4-7|=3 \le 3, gcd⁡(36,30)=6\gcd(36, 30)=6.

  4. 7→97 \to 9:∣7−9∣=2≤3|7-9|=2 \le 3, gcd⁡(30,4)=2\gcd(30, 4)=2.

    共 4 步。

【睿爸信奥】入门组算法周赛(20260222)

未参加
状态
已结束
规则
IOI
题目
5
开始于
2026-2-22 0:00
结束于
2026-2-27 20:00
持续时间
3.5 小时
主持人
参赛人数
19