#ARC147A. [ARC147A] 最大值对最小值取模(Max Mod Min)

    ID: 2746 Type: Default 1000ms 256MiB Tried: 0 Accepted: 0 Difficulty: (None) Uploaded By: Tags>ABC入门算法闯关STL与数据结构

[ARC147A] 最大值对最小值取模(Max Mod Min)

题目描述

小高得到了一个长度为 NN 的正整数序列 A=(A1,A2,,AN)A=(A_1,A_2, \dots ,A_N)

他将重复执行以下操作,直到序列 AA 的长度变为 11

  • 设操作前 AA 的长度为 kk。选择整数 iijj,使得 $ \max(\{A_1,A_2,\dots,A_{k}\})=A_i,\min(\{A_1,A_2,\dots,A_{k}\})=A_j $,且 i  j i\ \neq\ j 。然后将 AiA_i 替换为 (Ai mod Aj) (A_i\ \bmod\ A_j) 。如果此时 AiA_i 变为 00 ,则从 A 中删除 AiA_i

请计算小高将执行的操作次数。可以证明,无论如何选择操作中的 iijj,总操作次数都不会改变。

输入格式

输入从标准输入中给出,格式如下:

N N

A1 A_1 A2 A_2 \dots AN A_N

输出格式

输出所求答案。

输入输出样例 #1

输入 #1

3
2 3 6

输出 #1

3

输入输出样例 #2

输入 #2

6
1232 452 23491 34099 57341 21488

输出 #2

12

说明/提示

样例 1 解释

将执行 3 次操作,如下所示:

  1. 选择 i=3,j=1i=3,j=1。得到 A3=0A_3=0,并从 AA 中删除 A3A_3。现在 A=(2,3)A=(2,3)
  2. 选择 i=2,j=1i=2,j=1。得到 A2=1A_2=1。现在 A=(2,1)A=(2,1)
  3. 选择 i=1,j=2i=1,j=2。得到 A1=0A_1=0,并从 AA 中删除 A1A_1。现在 A=(1)A=(1),由于 AA 的长度变为 11,终止操作。

数据范围

  • 2  N  2 × 105 2\ \le\ N\ \le\ 2\ \times\ 10^5
  • 1  Ai  109 1\ \le\ A_i\ \le\ 10^9
  • 所有输入均为整数。