結果
| 問題 |
No.168 ものさし
|
| コンテスト | |
| ユーザー |
titia
|
| 提出日時 | 2022-04-25 00:04:52 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 284 ms / 2,000 ms |
| コード長 | 603 bytes |
| コンパイル時間 | 184 ms |
| コンパイル使用メモリ | 82,440 KB |
| 実行使用メモリ | 79,936 KB |
| 最終ジャッジ日時 | 2024-06-26 10:50:57 |
| 合計ジャッジ時間 | 4,294 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 19 |
ソースコード
import heapq
N=int(input())
P=[tuple(map(int,input().split())) for i in range(N)]
DP=[1<<60]*N
DP[0]=0
Q=[(0,0)]
while Q:
dis,x=heapq.heappop(Q)
if DP[x]!=dis:
continue
a,b=P[x]
for i in range(N):
c,d=P[i]
d=(a-c)**2+(b-d)**2
yy=int(d**(1/2))
score=0
for j in range(yy-5,yy+5):
if j<=0:
continue
if j*j>=d:
score=j
break
if DP[i]>max(score,DP[x]):
DP[i]=max(score,DP[x])
heapq.heappush(Q,(DP[i],i))
print((DP[-1]+9)//10*10)
titia