結果

問題 No.3221 Count Turns
ユーザー kidodesu
提出日時 2025-08-01 21:44:53
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 547 ms / 2,000 ms
コード長 500 bytes
コンパイル時間 363 ms
コンパイル使用メモリ 82,608 KB
実行使用メモリ 106,696 KB
最終ジャッジ日時 2025-08-01 21:45:10
合計ジャッジ時間 11,806 ms
ジャッジサーバーID
(参考情報)
judge1 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 36
権限があれば一括ダウンロードができます

ソースコード

diff #

n, h, t = map(int, input().split())
A = list(map(int, input().split()))
l = 0
r = 10 ** 14
while r - l > 1:
    m = (l + r) >> 1
    cnt = 0
    for a in A:
        s = (h + a - 1) // a
        cnt += m // s
    if cnt < t:
        l = m
    else:
        r = m

ans = []
Ans = []
for a in A:
    s = (h + a - 1) // a
    t -= l // s
    ans.append(l // s)
    Ans.append(l % s * a + a)

T = [i for i in range(n)]
T.sort(key = lambda x: (-Ans[x], x))

for now in T[:t]:
    ans[now] += 1
print(*ans)
0