結果
問題 |
No.1597 Matrix Sort
|
ユーザー |
![]() |
提出日時 | 2021-07-09 21:44:52 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
|
実行時間 | - |
コード長 | 719 bytes |
コンパイル時間 | 155 ms |
コンパイル使用メモリ | 82,512 KB |
実行使用メモリ | 104,940 KB |
最終ジャッジ日時 | 2024-07-01 15:46:17 |
合計ジャッジ時間 | 34,088 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 13 TLE * 14 |
ソースコード
mod = 1000000007 eps = 10**-9 def main(): import sys from bisect import bisect_left input = sys.stdin.readline N, K, P = map(int, input().split()) A = list(map(int, input().split())) B = list(map(int, input().split())) A = [a % P for a in A] B = [b % P for b in B] A.sort() B.sort() ok = P-1 ng = -1 mid = (ok + ng) // 2 while ok - ng > 1: cnt = 0 for a in A: cnt += bisect_left(B, mid - a + 1) cnt += bisect_left(B, P + mid - a + 1) - bisect_left(B, P - a) if cnt >= K: ok = mid else: ng = mid mid = (ok + ng) // 2 print(ok) if __name__ == '__main__': main()