luogu#P9135. [THUPC 2023 初赛] 快速 LCM 变换
[THUPC 2023 初赛] 快速 LCM 变换
题目描述
小 I 今天学习了快速最小公倍数变换(Fast Least-Common-Multiple Transform, FLT),于是他想考考你。
给定一个长度为 的正整数序列 。你需要做以下操作恰好一次:
- 选择整数 使得 。在序列末尾加入 ,并将 和 从序列中删除。
可以注意到总共有 种可能的操作,每种操作会得到一个长度为 的序列。
你需要对所有的这 个序列,求出序列中所有元素的最小公倍数,并给出它们的和模 的值。
输入格式
输入的第一行包含一个正整数 ,表示序列的长度。接下来一行 个正整数 ,描述初始序列。
输出格式
输出一行一个整数,表示所有序列的最小公倍数的和模 的值。
3
2 3 4
40
提示
样例解释 1
- 时,得到的序列为 ,最小公倍数为 ;
- 时,得到的序列为 ,最小公倍数为 ;
- 时,得到的序列为 ,最小公倍数为 。
因此输出为 。
子任务
对于所有测试数据,$2 \le n \le 5 \times 10^5, 1 \le r_1,r_2,\cdots,r_n \le 10^6$。
题目来源
来自 2023 清华大学学生程序设计竞赛暨高校邀请赛(THUPC2023)初赛。
题解等资源可在 https://github.com/THUSAAC/THUPC2023-Pre 查看。