結果
| 問題 | No.3166 [Cherry 7th Tune *] 桜の守人 |
| コンテスト | |
| ユーザー |
Kude
|
| 提出日時 | 2025-05-30 23:17:25 |
| 言語 | PyPy3 (7.3.17) |
| 結果 |
AC
|
| 実行時間 | 691 ms / 2,000 ms |
| + 264µs | |
| コード長 | 863 bytes |
| 記録 | |
| コンパイル時間 | 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 |
ソースコード
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)
Kude