結果
| 問題 | No.2923 Mayor's Job | 
| コンテスト | |
| ユーザー |  Cecil | 
| 提出日時 | 2024-10-13 22:07:26 | 
| 言語 | PyPy3 (7.3.15) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 219 ms / 2,000 ms | 
| コード長 | 645 bytes | 
| コンパイル時間 | 161 ms | 
| コンパイル使用メモリ | 82,180 KB | 
| 実行使用メモリ | 77,516 KB | 
| 最終ジャッジ日時 | 2024-10-13 22:07:31 | 
| 合計ジャッジ時間 | 2,483 ms | 
| ジャッジサーバーID (参考情報) | judge4 / judge2 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 | 
| other | AC * 17 | 
ソースコード
def dist(x1,y1,x2,y2):
    return ((x1-x2)**2+(y1-y2)**2)**(1/2)
N,K = map(int, input().split())
H = list(map(int, input().split()))
S = list()
for i in range(N):
    x,y = map(int, input().split())
    S.append((H[i],x,y))
S.sort()
#print(S)
done = [False for _ in range(N)]
for i in range(N):
    for j in range(N-1, -1, -1):
        if j<=i:
            continue
        if not done[i] and not done[j]:
            hi,xi,yi = S[i]
            hj,xj,yj = S[j]
            if hi==hj:
                continue
            k = dist(xi,yi,xj,yj)
            if k<=K:
                done[i] = True
    #print(done)
#print(done)
print(N-sum(done))
            
            
            
        