No.2923 Mayor's Job
タグ : / 解いたユーザー数 158
作問者 : mymelochan / テスター : loop0919 hirayuu_yc tnodino kusirakusira 👑 KA37RI Nyaa Uruzu
問題文
あなたが市長をつとめる緑以下シティ内には $N$ 社の神社が存在し、$i$ 番目の神社は $H_i$ 年の歴史があり地点 $(X_i,Y_i)$ に位置しています。
現在、緑以下シティには神社が沢山ありすぎるため、あなたは神社の数を減らすために次の操作を何回か行うことにしました。$1$ 回の操作は次の手順で行われます。
- まだ消滅していない異なる神社 $i,j$ を選ぶ。このとき $H_i \lt H_j$ かつ神社間のユークリッド距離が $K$ 以下である必要がある
- 神社 $i$ を消滅させる。神社 $j$ はそのまま残る。
あなたはこの操作を可能な限り好きなだけ($0$ 回でもよい)行うことができます。
残す神社の数が最小になるように操作を行うとき、神社はいくつ残るか答えてください。
なお点 $(x_1,y_1)$ と点 $(x_2,y_2)$ のユークリッド距離は $\sqrt{(x_1-x_2)^2+(y_1-y_2)^2}$ と定義されます。
制約
- $1\leq N \leq 2000$
- $1\leq K \leq 10^9$
- $1\leq H_i \leq 10^9$
- $1\leq X_i,Y_i \leq 10^9$
- 入力は全て整数である。
入力
$N \ K$ $H_1 \ \ H_2 \ ... \ H_N$ $X_1 \ Y_1$ $X_2 \ Y_2$ : $X_N \ Y_N$
出力
答えを $1$ 行で出力せよ。
サンプル
サンプル1
入力
4 2 13 7 2 16 1 1 1 3 2 4 11 10
出力
2
まず $i=3, j=2$ とします。
このとき神社 $3$ と神社 $2$ のユークリッド距離は $\sqrt{2} \leq K$ であり、さらに $H_3 \lt H_2$ であるため操作を行うことは可能です。結果として神社 $3$ が消滅します。
続いて $i=2, j=1$ として操作を行い、神社 $2$ を消滅させます。
神社 $4$ については他の神社と離れすぎているため、どの神社とも操作を行うことができません。
以上のように一連の操作を行った時に残る神社の数は $2$ であり、これよりも神社を減らす方法は存在しないため $2$ を出力します。
サンプル2
入力
3 2 1 2 2 1 1 1 1 1 3
出力
2
複数の神社が同じ座標に存在することもあります。
また神社 $2$ と神社 $3$ は歴史が等しいので操作を行うことはできません。
サンプル3
入力
19 8 70 90 200 93 73 47 87 115 193 102 50 47 146 11 134 178 175 185 41 13 10 20 13 15 29 23 27 25 17 20 12 11 27 16 12 16 26 18 14 14 2 9 6 15 5 22 1 11 22 14 20 19 18 30 18 18 24
出力
4
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。