AT_abc313_c [ABC313C] Approximate Equalization 2
Description
[problemUrl]: https://atcoder.jp/contests/abc313/tasks/abc313_c
整数列 $ A=(A_1,A_2,\dots,A_N) $ があります。 あなたは次の操作を好きな回数($ 0 $ 回でもよい)行うことができます。
- $ 1\leq\ i,j\ \leq\ N $ を満たす整数 $ i,j $ を選ぶ。$ A_i $ を $ 1 $ 減らし、$ A_j $ を $ 1 $ 増やす。
$ A $ の最小値と最大値の差を $ 1 $ 以下にするために必要な最小の操作回数を求めてください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ A_1 $ $ A_2 $ $ \dots $ $ A_N $
Output Format
答えを整数として出力せよ。
Explanation/Hint
### 制約
- $ 1\leq\ N\ \leq\ 2\times\ 10^5 $
- $ 1\leq\ A_i\ \leq\ 10^9 $
- 入力は全て整数
### Sample Explanation 1
以下のように $ 3 $ 回の操作を行うことで、$ A $ の最小値と最大値の差を $ 1 $ 以下にすることができます。 - $ i=2,j=3 $ として操作を行う。$ A=(4,6,4,7) $ になる。 - $ i=4,j=1 $ として操作を行う。$ A=(5,6,4,6) $ になる。 - $ i=4,j=3 $ として操作を行う。$ A=(5,6,5,5) $ になる。 $ 3 $ 回未満の操作で $ A $ の最小値と最大値の差を $ 1 $ 以下にすることはできません。よって答えは $ 3 $ です。