問題一覧 > 通常問題

No.99 ジャンピング駒

レベル : / 実行時間制限 : 1ケース 5.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 552
作問者 : LayCurse
9 ProblemId : 191 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2017-06-25 01:02:46

問題文

一次元の数直線上の整数座標に駒が N 個あります.
各駒の初期座標は互いに異なり X1,X2,,XN です.
1 回の操作では 1 個の駒を動かすことができ,今いる座標が x ならば x+2 または x2 に移動できます.
ただし,移動先に既に駒がある場合はそのような移動はできず,また,移動するにあたって,駒を飛び越えた場合は,飛び越えた駒と飛び越えられた駒の両方が消滅します.
駒の数を最小化したいです.
操作は何回でもできるとして,最後まで残る駒の個数の最小値を求めるプログラムを書いて下さい.

入力

N
X1 X2  XN

1N105
109Xk109

出力

残る駒の個数の最小値を 1 行で出力して下さい.
最後に改行してください.

サンプル

サンプル1
入力
4
1 2 4 3
出力
0

座標 2 にいる駒が座標 1 にいる駒を飛び越え,その後,座標 4 にいる駒が座標 3 にいる駒を飛び越えれば全ての駒が消滅します.

サンプル2
入力
10
-746 0 11 98 1 14 998 123 837 15
出力
0

なんかうまくやれば全部消滅するらしいです.

サンプル3
入力
5
1000000000 -1000000000 0 987654321 -123456789
出力
1

駒が消滅するときは 2 個セットで消滅するので,最後にどうしても 1 個の駒は残ってしまいます.
また,4 個の駒を消滅させることができます.

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