結果

問題 No.3166 [Cherry 7th Tune *] 桜の守人
コンテスト
ユーザー Kude
提出日時 2025-05-30 23:17:25
言語 PyPy3
(7.3.17)
コンパイル:
pypy3 -mpy_compile _filename_
実行:
pypy3 _filename_
結果
AC  
実行時間 691 ms / 2,000 ms
+ 264µs
コード長 863 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 234 ms
コンパイル使用メモリ 96,116 KB
実行使用メモリ 130,816 KB
最終ジャッジ日時 2026-07-11 04:46:37
合計ジャッジ時間 18,808 ms
ジャッジサーバーID
(参考情報)
judge1_0 / judge3_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 26
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

for _ in range(int(input())):
    n, l, k = map(int, input().split())
    x = sorted(map(int, input().split()))
    lb = 0
    ub = (l + 1) // 2
    while ub - lb > 1:
        c = (lb + ub) // 2
        evs = []
        now = 0
        for xi in x:
            if 0 <= xi - c:
                evs.append((xi - c, -1))
            else:
                evs.append((xi - c + l, -1))
                now += 1
            if xi + c < l:
                evs.append((xi + c, 1))
            else:
                evs.append((xi + c - l, 1))
                now += 1
        evs.sort()
        ok = now >= k
        if c == 171:
            print(x, now)
            print(*evs, sep='\n')
        for t, sub in evs:
            now -= sub
            if now < k:
                ok = False
        if ok:
            ub = c
        else:
            lb = c
    print(ub)
0