結果
問題 |
No.1597 Matrix Sort
|
ユーザー |
![]() |
提出日時 | 2021-12-14 00:05:23 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
|
実行時間 | - |
コード長 | 542 bytes |
コンパイル時間 | 245 ms |
コンパイル使用メモリ | 81,904 KB |
実行使用メモリ | 104,180 KB |
最終ジャッジ日時 | 2024-07-23 00:04:44 |
合計ジャッジ時間 | 7,190 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 12 TLE * 15 |
ソースコード
def lower_bound(a,x): ng,ok = -1,len(a) while ok-ng>1: m = (ng+ok)//2 if x<=a[m]: ok = m else: ng = m return ok def upper_bound(a,x): ok,ng = -1,len(a) while ng-ok>1: m = (ng+ok)//2 if x>a[m]: ok = m else: ng = m return ok n,k,p = map(int,input().split()) a = list(map(int,input().split())) b = list(map(int,input().split())) b.sort() l,r = -1,p while r-l>1: m = (l+r)//2 cnt = 0 for i in range(n): cnt += upper_bound(b,m+p-a[i])-lower_bound(b,p-a[i])+1+upper_bound(b,m-a[i])+1 if cnt<k: l = m else: r = m print(l)