题目描述
给定一个长度为 N 的正整数序列 A=(A1,A2,…,AN)。
你需要重复以下操作,直到 A 的长度变为 1 为止。
- 设当前 A 的长度为 k。选择满足 max({A1,A2,…,Ak})=Ai,min({A1,A2,…,Ak})=Aj 且 i=j 的整数对 (i,j),将 Ai 替换为 (AimodAj)。此时,如果 Ai=0,则将 Ai 从 A 中删除。
可以证明,无论如何进行操作,操作次数都是固定的。请你求出操作的总次数。
输入格式
输入以以下格式从标准输入读入。
N A1 A2 … AN
输出格式
请输出答案。
样例 1
输入
3
2 3 6
输出
3
样例 2
输入
6
1232 452 23491 34099 57341 21488
输出
12
说明/提示
限制条件
- 2≤N≤2×105
- 1≤Ai≤109
- 输入均为整数。
样例解释 1
可以按如下方式进行操作。操作次数为 3 次。
- 选择 i=3,j=1。A3=0,因此从 A 中删除 A3。此时 A=(2,3)。
- 选择 i=2,j=1。A2=1,此时 A=(2,1)。
- 选择 i=1,j=2。A1=0,因此从 A 中删除 A1。此时 A=(1)。A 的长度变为 1,操作结束。
由 ChatGPT 4.1 翻译