Problem I - Step
题目描述
给定 n 个环,第 i 个环的长度为 pi。每个环的 1 号位置一开始都有一匹小马,小马第 k 天会移动 k 步。
要求找到最早的一天 m,使得所有小马都回到各自环上的 1 号位置。这里 m 不能为 0。
输入
第一行包含一个正整数 n,表示环的数量,满足 1≤n≤105。
第二行包含 n 个正整数 pi,表示每个环的长度,满足 1≤pi≤107。
保证 p1,p2,…,pn 的最小公倍数不超过 1018。
输出
输出一个正整数,表示所有小马同时回到位置 1 的最早日期。
分析
第 m 天结束时,小马总共移动的步数为:
1+2+⋯+m=2m(m+1)
对于每个环,都需要满足:
2m(m+1)≡0(modpi)
因此可以先把所有 pi 合并成一个模数条件,再根据奇偶性和整除关系处理 m 与 m+1。这类题的关键是把“每天移动步数递增”转化为三角数取模问题。