結果
問題 | No.507 ゲーム大会(チーム決め) |
ユーザー |
![]() |
提出日時 | 2019-01-12 19:30:06 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 151 ms / 3,000 ms |
コード長 | 665 bytes |
コンパイル時間 | 443 ms |
コンパイル使用メモリ | 82,380 KB |
実行使用メモリ | 88,140 KB |
最終ジャッジ日時 | 2024-12-22 21:32:05 |
合計ジャッジ時間 | 3,709 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 19 |
ソースコード
N, M = list(map(int, input().split(' '))) A = [] for i in range(N): A.append(int(input())) A = [A[0]] + sorted(A[1:]) left = 0 right = N while 1 < right - left: m = (left + right)//2 k = 0 lleft = 1 rright = N-1 while lleft < rright: if lleft == m: lleft = lleft + 1 elif rright == m: rright = rright - 1 elif A[0] + A[m] < A[lleft] + A[rright]: k = k + 1 lleft = lleft + 1 rright = rright - 1 else: lleft = lleft + 1 if k < M: right = m else: left = m if right == N: print(-1) else: print(A[right])