結果
問題 | No.2520 L1 Explosion |
ユーザー |
![]() |
提出日時 | 2022-02-20 12:42:02 |
言語 | PyPy3 (7.3.15) |
結果 |
RE
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 844 bytes |
コンパイル時間 | 189 ms |
コンパイル使用メモリ | 82,464 KB |
実行使用メモリ | 67,272 KB |
最終ジャッジ日時 | 2024-09-24 19:37:49 |
合計ジャッジ時間 | 2,529 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | RE * 3 |
other | RE * 22 |
ソースコード
import sysinput = sys.stdin.readlineN = int(input())P = [list(map(int, input().split())) for _ in [0] * N]dist = []for i in range(N - 1):for j in range(i + 1, N):d = abs(P[i][0] - P[j][0]) + abs(P[i][1] - P[j][1])dist.append((d, i, j))dist.sort(key = lambda x : -x[0])def func(route):c = [0] * Nfor v in range(N):if(c[v]):continuec[v] = 1que = [v]while(que):now = que.pop()for nv in route[now]:if(c[nv] == 0):c[nv] = -c[now]que.append(nv)elif(c[nv] == c[now]):return Falsereturn Trueok = 0ng = N * (N - 1) // 2 + 1while(ng - ok > 1):k = (ok + ng) // 2route = [[] for _ in [0] * N]for _, i, j in dist[:k]:route[i].append(j)route[j].append(i)if(func(route)):ok = kelse:ng = kans = dist[ok][0] // 2 if(ok < N * (N - 1) // 2) else 0print(ans)