[YDOI R1] Running
题目背景
建议使用较快速的输入方式。
小 Z 要去跑步,他想开学后拉爆他的同学。
题目描述
小 Z 在一条公路上跑步,公路上有 n n n 个超市,第 i i i 个超市的位置为 a i a_i ai。当小 Z 经过一个超市的时间为奇数时,他就会去逛超市,从而被同学拉爆。
小 Z 最开始位于位置为 0 0 0 的点。他会在每个单位时间向右跑 v v v 个单位长度。
请求出:能够使小 Z 经过 n n n 个超市中每一个超市时,都不去逛超市的 v v v 的最大值。
规定 v v v 必须是正整数,且小 Z 到达任意一个超市时,花费的时间必须为整数,换言之,你需要保证小 Z 到达任意一个超市的时间都是偶数。注意时间初始为 0 0 0。
输入格式
输入共 n + 1 n+1 n+1 行。
第 1 1 1 行, 1 1 1 个正整数 n n n。
第 2 ∼ n + 1 2\sim n+1 2∼n+1 行,每行 1 1 1 个正整数,第 i + 1 i+1 i+1 行输入的正整数是 a i a_i ai。
输出格式
输出共 1 1 1 行。
输出符合条件的 v v v 的最大值。如果无解则输出 − 1 -1 −1。
样例 #1
样例输入 #1
2
1
2
样例输出 #1
-1
样例 #2
样例输入 #2
5
10
20
30
40
50
样例输出 #2
5
提示
【样例解释】
对于样例 1 1 1,可以证明不存在符合要求的速度。
对于样例 2 2 2,当 v = 5 v=5 v=5 时,到达第 1 ∼ 5 1\sim5 1∼5 个超市的时间分别为 2 2 2, 4 4 4, 6 6 6, 8 8 8, 10 10 10,均为偶数,符合题目要求。可以证明不存在更快的符合要求的速度。
本题采用捆绑测试。
子任务编号 | n ≤ n\le n≤ | a i ≤ a_i\le ai≤ | 分值 |
---|---|---|---|
1 1 1 | 1 1 1 | 3 × 1 0 18 3\times10^{18} 3×1018 | 10 10 10 |
2 2 2 | 25 25 25 | 保证 a 1 ≤ 2 × 1 0 6 a_1\le 2\times 10^6 a1≤2×106 | 10 10 10 |
3 3 3 | 1 0 4 10^4 104 | 保证 a 1 ≤ 2 × 1 0 6 a_1\le 2\times 10^6 a1≤2×106 | 20 20 20 |
4 4 4 | 2 × 1 0 6 2\times10^6 2×106 | 3 × 1 0 18 3\times10^{18} 3×1018 | 60 60 60 |
对于 100 % 100\% 100% 的数据, 1 ≤ n ≤ 2 × 1 0 6 1 \le n \le 2\times10^6 1≤n≤2×106, 1 ≤ a 1 < a 2 < ⋯ < a n − 1 < a n ≤ 3 × 1 0 18 1\le a_1<a_2<\dots<a_{n-1}<a_n\le3\times10^{18} 1≤a1<a2<⋯<an−1<an≤3×1018。保证所有输入都是正整数。
Scratch实现
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yRw1feDI-1720338813439)(https://i-blog.csdnimg.cn/direct/23b56486b1334c7799ba80d7d1dc6f61.png)]
后续
接下来我会不断用scratch来实现信奥比赛中的算法题、Scratch考级编程题实现、白名单赛事考题实现,感兴趣的请关注,我后续将继续分享相关内容