题目描述
長さ N の正整数列 A=(A1,A2,…,AN) が与えられます。
あなたは以下の操作を A の長さが 1 になるまで繰り返します。
- 操作を行う時点での A の長さを k とする。$\max(\{A_1,A_2,\dots,A_{k}\})=A_i,\min(\{A_1,A_2,\dots,A_{k}\})=A_j$ かつ i = j を満たす整数の組 (i,j) を選び、Ai を (Ai mod Aj) で置き換える。このとき、Ai=0 となったのであれば A から Ai を削除する。
どのように操作を行っても操作回数は一定であることが証明できます。操作回数を求めてください。
输入格式
入力は以下の形式で標準入力から与えられる。
N A1 A2 … AN
输出格式
答えを出力せよ。
题目大意
有一个长度为n的正整数序列A=(A1,A2,...,AN)。
重复以下操作直到序列A的长度变为1。
- 设k为操作前序列A的长度.选择整数i和j,使Ai为序列A中的最大值,Aj为序列A中的最小值,且i=j。然后,用(AimodAj)替换Ai。如果Ai的值在操作后变为0,从序列A中删除Ai.
请求出需要执行的操作的数量。我们可以证明,在操作中无论如何选择i,j,操作的总数是不变的
3
2 3 6
3
6
1232 452 23491 34099 57341 21488
12
提示
制約
- 2 ≤ N ≤ 2 × 105
- 1 ≤ Ai ≤ 109
- 入力は全て整数である。
Sample Explanation 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 になったため、操作を終了する。