atcoder#AGC018A. [AGC018A] Getting Difference

[AGC018A] Getting Difference

配点 : 300300

問題文

箱に NN 個のボールが入っていて、ii 番目のボールには整数 AiA_i が書かれています。 すぬけ君は、次の操作を好きな回数だけ行うことができます。

  • 箱から二つのボールを取り出し、その二つのボールに書かれている数の差の絶対値を書いた新しいボールと一緒に箱に戻す。

すぬけ君が、整数 KK の書かれたボールが箱の中に入っている状態にできるかどうか判定してください。

制約

  • 1N1051 \leq N \leq 10^5
  • 1Ai1091 \leq A_i \leq 10^9
  • 1K1091 \leq K \leq 10^9
  • 入力はすべて整数である。

入力

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

NN KK

A1A_1 A2A_2 ...... ANA_N

出力

すぬけ君が、整数 KK がかかれたボールが箱の中に入っている状態にできる場合には POSSIBLE、 できない場合には IMPOSSIBLE と出力せよ。

3 7
9 3 4
POSSIBLE

まず、99 と書かれたボールと 44 と書かれたボールを取り出し、abs(94)=5abs(9-4)=5 なので、55 と書かれた新しいボールと一緒に箱に戻します。 次に、33 と書かれたボールと 55 と書かれたボールを取り出し、abs(35)=2abs(3-5)=2 なので、22 と書かれた新しいボールと一緒に箱に戻します。 最後に、99 と書かれたボールと 22 と書かれたボールを取り出し、abs(92)=7abs(9-2)=7 なので、77 と書かれた新しいボールと一緒に箱に戻します。 77 と書かれたボールを箱に入れることができたので、この例の答えは POSSIBLE になります。

3 5
6 9 3
IMPOSSIBLE

どれだけ操作を行っても、55 の書かれたボールを箱の中に入れることはできません。 よってこの例の答えは、IMPOSSIBLE になります。

4 11
11 3 7 15
POSSIBLE

操作を行うまでもなく、箱の中には 1111 の書かれたボールが入っています。 よってこの例の答えは、POSSIBLE になります。

5 12
10 2 8 6 4
IMPOSSIBLE