結果

問題 No.3166 [Cherry 7th Tune *] 桜の守人
ユーザー detteiuu
提出日時 2025-06-20 19:41:24
言語 PyPy3
(7.3.15)
結果
TLE  
(最新)
AC  
(最初)
実行時間 -
コード長 863 bytes
コンパイル時間 488 ms
コンパイル使用メモリ 82,292 KB
実行使用メモリ 110,436 KB
最終ジャッジ日時 2025-06-24 22:48:46
合計ジャッジ時間 42,538 ms
ジャッジサーバーID
(参考情報)
judge3 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 23 TLE * 3
権限があれば一括ダウンロードができます

ソースコード

diff #

def func(P):
    R = []
    for x in X:
        l, r = x-P, x+P
        if l < 0:
            R.append((l%L, 1))
            l = 0
        if L < r:
            R.append((0, 1))
            R.append((r%L+0.5, -1))
            r = L
        R.append((l, 1))
        if r < L:
            R.append((r+0.5, -1))
    R.sort(key=lambda x:x[0])
    if R[0][0] != 0:
        return False
    SUM = 0
    for i, (n, d) in enumerate(R):
        SUM += d
        if (1 <= n or i+1 == len(R) or n < R[i+1][0]) and SUM < K:
            return False
    return True

for _ in range(int(input())):
    N, L, K = map(int, input().split())
    X = list(map(int, input().split()))

    left = 0
    right = (L+1)//2
    while left+1 < right:
        mid = (left+right)//2
        if not func(mid):
            left = mid
        else:
            right = mid
    
    print(right)
0