結果
問題 |
No.3072 Speedrun Query
|
ユーザー |
|
提出日時 | 2025-03-21 21:41:10 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
|
実行時間 | - |
コード長 | 854 bytes |
コンパイル時間 | 750 ms |
コンパイル使用メモリ | 82,316 KB |
実行使用メモリ | 114,628 KB |
最終ジャッジ日時 | 2025-03-21 21:41:19 |
合計ジャッジ時間 | 8,035 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 3 TLE * 1 -- * 17 |
ソースコード
from bisect import bisect_left n, ka, kb = map(int, input().split()) A = list(map(int, input().split())) B = list(map(int, input().split())) mi = n + 1 for a in A: p = bisect_left(B, a) if p < len(B): mi = min(mi, abs(a - B[p])) if p > 0: mi = min(mi, abs(a - B[p - 1])) def f(x): pa = bisect_left(A, x) da = n + 1 if pa < len(A): da = min(da, abs(x - A[pa])) if pa > 0: da = min(da, abs(x - A[pa - 1])) pb = bisect_left(B, x) db = n + 1 if pb < len(B): db = min(db, abs(x - B[pb])) if pb > 0: db = min(db, abs(x - B[pb - 1])) return da, db Q = int(input()) for _ in range(Q): s, t = map(int, input().split()) das, dbs = f(s) dat, dbt = f(t) ans = min(abs(s - t), das + dat, dbs + dbt, das + dbt + mi, dbs + dat + mi) print(ans)