100 atcoder#AGC012E. [AGC012E] Camel and Oases

[AGC012E] Camel and Oases

配点 : 10001000

問題文

NN 箇所のオアシスが数直線上に並んでおり、左から ii 番目のオアシスは座標 xix_i にあります。

ラクダはこれらのオアシス全てを訪れたいです。 ラクダははじめ、体積 VV のこぶを持っています。こぶの体積を vv としたとき、ラクダは水を最大で vv 蓄えることができます。ラクダはオアシスにいるときのみ、水を補給することができます。オアシスでは蓄えられるだけ水を補給することができ、同じオアシスで何回でも水を補給することができます。

ラクダは数直線上を歩くか、ジャンプするかのどちらかの方法で移動することができます。

  • ラクダが距離 dd だけ歩いたとき、蓄えている水を dd だけ消費します。ただし、蓄えられた水の量が負になるようには移動できません。
  • 蓄えられた水の量を vv として v>0v>0 のとき、ラクダはジャンプをすることで数直線上の任意の地点へと移動することができます。その後、こぶの体積が v/2v/2(小数点以下は切り捨て) となり、蓄えられた水の量が 00 になります。

ラクダが 1,2,3,...,N1,2,3,...,N 番目のオアシスから出発したとき、全てのオアシスを訪れることが可能かどうかをそれぞれ判定してください。

制約

  • 2N,V2×1052 \leq N,V \leq 2 \times 10^5
  • 109x1<x2<...<xN109-10^9 \leq x_1 < x_2 < ... < x_N \leq 10^9
  • V,xiV, x_i はいずれも整数

入力

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

NN VV

x1x_1 x2x_2 ...... xNx_{N}

出力

答えを NN 行に出力せよ。ii 行目では ii 番のオアシスから出発して全てのオアシスを訪れることが可能ならば Possible と、不可能ならば Impossible と出力せよ。

3 2
1 3 6
Possible
Possible
Possible

以下のように移動することで、11 番のオアシスから出発して全てのオアシスを訪れることが可能です。

  • 11 番のオアシスから 22 番のオアシスへと歩いて移動する。蓄えられた水の量は 00 となる。
  • 22 番のオアシスで水を補給する。蓄えられた水の量は 22 となる。
  • 22 番のオアシスから 33 番のオアシスへとジャンプして移動する。蓄えられた水の量は 00 となり、こぶの体積は 11 となる。
7 2
-10 -4 -2 0 2 4 10
Impossible
Possible
Possible
Possible
Possible
Possible
Impossible

オアシスは何度訪れても構いません。

16 19
-49 -48 -33 -30 -21 -14 0 15 19 23 44 52 80 81 82 84
Possible
Possible
Possible
Possible
Possible
Possible
Possible
Possible
Possible
Possible
Possible
Possible
Impossible
Impossible
Impossible
Impossible