結果
| 問題 |
No.1767 BLUE to RED
|
| コンテスト | |
| ユーザー |
ntuda
|
| 提出日時 | 2025-11-06 21:21:26 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
RE
|
| 実行時間 | - |
| コード長 | 607 bytes |
| コンパイル時間 | 3,204 ms |
| コンパイル使用メモリ | 82,324 KB |
| 実行使用メモリ | 68,756 KB |
| 最終ジャッジ日時 | 2025-11-06 21:21:33 |
| 合計ジャッジ時間 | 7,405 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | RE * 3 |
| other | RE * 21 |
ソースコード
from heapq import *
from atcoder.dsu import DSU
N, M = map(int, input().split())
A = list(map(int, input().split()))
B = list(map(int, input().split()))
dsu = DSU(N + M + 1)
X = []
for i, a in enumerate(A, start=1):
X.append((a, i, 0))
dsu.merge(0, i)
for i, b in enumerate(B, start= N + 1):
X.append((b, i, 1))
X.sort()
Q = []
for i in range(1, N + M):
a0, b0, c0 = X[i]
a1, b1, c1 = X[i - 1]
if c0 == 1 or c1 == 1:
heappush(Q, (a0 - a1, b0, b1))
ans = 0
while Q:
a, b, c = heappop(Q)
if dsu.same(b, c):
continue
ans += a
dsu.merge(b, c)
print(ans)
ntuda