結果
問題 | No.2923 Mayor's Job |
ユーザー |
|
提出日時 | 2024-10-12 14:51:45 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 148 ms / 2,000 ms |
コード長 | 826 bytes |
コンパイル時間 | 259 ms |
コンパイル使用メモリ | 82,468 KB |
実行使用メモリ | 108,032 KB |
最終ジャッジ日時 | 2024-10-12 14:51:49 |
合計ジャッジ時間 | 2,690 ms |
ジャッジサーバーID (参考情報) |
judge / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 17 |
ソースコード
n,k = map(int, input().split()) hlist = list(map(int, input().split())) import sys mp = map(int, sys.stdin.read().split()) xy = list(zip(mp,mp)) # ←1行に含まれるデータ数だけmpを連ねる inf = 1 << 60 dist = [[0 for i in range(n)] for i in range(n)] k *= k for i in range(n): for j in range(i+1, n): xi,yi = xy[i] xj,yj = xy[j] d = pow(xi-xj, 2) + pow(yi-yj, 2) if d <= k: if hlist[i] < hlist[j]: dist[i][j] = 1 elif hlist[i] > hlist[j]: dist[j][i] = 1 keys = list(range(n)) keys.sort(key = lambda x:hlist[x]) cnt = n for key in keys: flag = False for i in range(n): if dist[key][i] == 1: flag = True break if flag: cnt -= 1 print(cnt)