結果
問題 | No.1597 Matrix Sort |
ユーザー |
|
提出日時 | 2021-07-12 10:44:44 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 962 ms / 1,500 ms |
コード長 | 652 bytes |
コンパイル時間 | 317 ms |
コンパイル使用メモリ | 81,920 KB |
実行使用メモリ | 374,680 KB |
最終ジャッジ日時 | 2024-07-02 03:23:17 |
合計ジャッジ時間 | 18,502 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 27 |
ソースコード
import sys input = sys.stdin.readline def judge(x): cnt = 0 for Ai in A: if x>=Ai: cnt += acc[x-Ai+1]+acc[P]-acc[P-Ai] else: cnt += acc[P-Ai+x+1]-acc[P-Ai] return cnt>=K def binary_search(): l, r = 0, P-1 while l<=r: m = (l+r)//2 if judge(m): r = m-1 else: l = m+1 return l N, K, P = map(int, input().split()) A = list(map(int, input().split())) B = list(map(int, input().split())) C = [0]*P for Bi in B: C[Bi] += 1 acc = [0] for Ci in C: acc.append(acc[-1]+Ci) print(binary_search())