問題一覧 > 通常問題

No.2860 Heal Slimes

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 25
作問者 : dyktr_06dyktr_06 / テスター : square1001square1001
1 ProblemId : 10859 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2024-08-20 19:26:36

問題文

$T$ 個のテストケースが与えられるので、それぞれについて以下の問題を解いてください。

あなたは、$N$ 体のスライムを飼っています。

スライムは横一列に並んでおり、左から $i$ 番目のスライムの体力は $H_i$ です。

あなたは、以下の回復魔法を何回でも行うことができます。

  • いずれかの連続する $K$ 体のスライムを選び、体力を $X$ だけ増やす。

あなたは一部のスライムだけ体力が低いことが嫌なので、全てのスライムの体力を同じにしたいです。

全てのスライムの体力を同じにできるかどうかを判定してください。


制約

  • $1 \leq T \leq 10^{5}$
  • $2 \leq N \leq 2 \times 10^{5}$
  • $1 \leq K \leq N$
  • $1 \leq X \leq 10^{9}$
  • $1 \leq H_i \leq 10^{9}$
  • $1$ つの入力に含まれるテストケースについて、$N$ の総和は $2 \times 10^{5}$ 以下である。
  • 入力はすべて整数である。

入力

入力は以下の形式で標準入力から与えられる。

$T$
$\text{case}_1$
$\vdots$

$\text{case}_T$

各テストケースは以下の形式で与えられる。

$N$ $K$ $X$ 
$H_1$ $H_2$ ... $H_{N}$ 

出力

$T$ 行出力せよ。$i$ 行目には $i$ 番目のテストケースについて、全てのスライムの体力を同じにすることが可能ならばYes、不可能ならばNoを出力せよ。

サンプル

サンプル1
入力
4
4 2 3
5 2 5 8
8 3 4
17 5 5 21 29 17 21 25
4 3 8
2 3 5 7
3 2 1
7 7 7
出力
Yes
Yes
No
Yes

$1$ 番目のテストケースについて、以下のように回復魔法を行えば全てのスライムの体力を同じにできます。

  • 左から $1, 2$ 番目のスライムに回復魔法を行う。スライムの体力はそれぞれ $(8, 5, 5, 8)$ となる。
  • 左から $2, 3$ 番目のスライムに回復魔法を行う。スライムの体力はそれぞれ $(8, 8, 8, 8)$ となる。

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。