結果
問題 | No.1597 Matrix Sort |
ユーザー | toyuzuko |
提出日時 | 2021-07-09 22:13:42 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 1,457 ms / 1,500 ms |
コード長 | 532 bytes |
コンパイル時間 | 261 ms |
コンパイル使用メモリ | 82,128 KB |
実行使用メモリ | 103,828 KB |
最終ジャッジ日時 | 2024-07-01 16:47:57 |
合計ジャッジ時間 | 25,685 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 27 |
ソースコード
from bisect import bisect_left, bisect_right N, K, P = map(int, input().split()) A = list(map(int, input().split())) B = list(map(int, input().split())) A.sort() B.sort() hi = P lo = 0 while hi - lo > 1: md = (hi + lo) >> 1 tmp = 0 for i, a in enumerate(A): if a < md: tmp += bisect_left(B, md - a) tmp += N - bisect_left(B, P - a) else: tmp += bisect_left(B, P + md - a) - bisect_left(B, P - a) if tmp < K: lo = md else: hi = md print(lo)