問題一覧 > 通常問題

No.1586 Equal Array

レベル : / 実行時間制限 : 1ケース 1.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 276
作問者 : e869120e869120 / テスター : 👑 PCTprobabilityPCTprobability
2 ProblemId : 6690 / 出題時の順位表 / 自分の提出
問題文最終更新日: 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もしくは右上の雲マークをクリックしてアカウントを作成してください。