QOJ.ac

QOJ

時間限制: 2 s 記憶體限制: 1024 MB 總分: 100 可 Hack ✓

#18389. 3段棘

统计

クオンは、キューブが棘(とげ)を飛び越えるゲームをしています。

このゲームのすべてのマップにおいて、キューブは位置 $0$ から出発し、毎フレーム $1$ ずつ移動します。キューブが位置 $N$ に到達すれば、空中に浮いている状態かどうかにかかわらず、マップをクリアしたことになります。

キューブは、空中に浮いている状態でない限り、フレームごとにジャンプすることができます。キューブがジャンプすると、ジャンプした次のフレームから $3$ フレーム間、空中に浮いている状態になります。例えば、$1$ フレーム目にジャンプすると、$2$ フレーム目から $4$ フレーム目までは空中に浮いている状態となり、$5$ フレーム目には空中に浮いている状態ではなくなります。

もしキューブが空中に浮いている状態ではないときに、ある棘と位置が一致すると、キューブは棘に当たって死んでしまい、クリアに失敗します。

クオンは、あるマップはクリア不可能だと考えました。クオンのために、マップのクリア可能性を判定してあげましょう。

入力

最初の行に、クオンが気になっているマップの数 $T (1 \le T \le 1\,000)$ が与えられます。

次の行から $T$ 個のマップが以下の形式で与えられます。

  • 最初の行にマップの長さ $N$ が与えられます。 $(1 \le N \le 10^{18})$
  • 2行目に棘の数 $X$ が与えられます。 $(1 \le X \le \min(N - 1, 1\,000))$
  • 3行目に各棘の位置 $P_1, P_2, \cdots, P_X$ が空白区切りで与えられます。 $(1 \le P_1 < P_2 < \cdots < P_X \le N-1)$

入力されるすべての数は整数です。

出力

マップが与えられるたびに、クリア可能であれば POSSIBLE、不可能であれば IMPOSSIBLE を出力してください。

入出力例

入力 1

3
4
3
1 2 3
5
2
1 4
10
4
5 6 7 9

出力 1

POSSIBLE
IMPOSSIBLE
POSSIBLE

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.