No.1586 Equal Array
レベル : / 実行時間制限 : 1ケース 1.000秒 / メモリ制限
: 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 283
作問者 : e869120 / テスター : PCTprobability
タグ : / 解いたユーザー数 283
作問者 : e869120 / テスター : PCTprobability
問題文最終更新日: 2021-07-08 21:59:04
問題文
長さ $N$ の数列 $A=(A_1, A_2, \cdots, A_N)$ が与えられます。
以下の操作を何回か行うことで、数列の全要素を同じ値にすることができるか判定してください。
- 整数 $i, j$ $(1 \leq i, j \leq N, i \neq j)$ を選び、$A_i$ を $1$ 増やすと同時に $A_j$ を $1$ 減らす。
入力
$N$ $A_1$ $A_2$ $\cdots$ $A_N$
出力
数列の全要素を同じ値にすることができる場合 Yes
、そうでないならば No
と出力してください。
制約
- $2 \leq N \leq 100000$
- $1 \leq A_i \leq 10^9$
- 入力はすべて整数
サンプル
サンプル1
入力
3 48 51 51
出力
Yes
以下の手順で操作を行うと、数列の全要素が同じ値になります。
- 1 回目の操作:$i = 1, j = 2$ を選び操作を行う。そのとき、$A = (49, 50, 51)$ となる。
- 2 回目の操作:$i = 1, j = 3$ を選び操作を行う。そのとき、$A = (50, 50, 50)$ となる。
サンプル2
入力
7 80 90 65 65 80 50 65
出力
No
どのように操作を行っても、数列の全要素を同じ値にすることができません。
サンプル3
入力
3 219 219 219
出力
Yes
そもそも操作を行う前の時点で、数列の全要素が同じ値です。
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。