結果
問題 | No.168 ものさし |
ユーザー |
![]() |
提出日時 | 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)