結果
問題 |
No.3221 Count Turns
|
ユーザー |
![]() |
提出日時 | 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 |
ソースコード
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)