結果
問題 | No.3049 Contest Coordinator |
ユーザー |
👑 |
提出日時 | 2025-02-02 14:57:56 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 513 ms / 2,000 ms |
コード長 | 455 bytes |
コンパイル時間 | 513 ms |
コンパイル使用メモリ | 82,176 KB |
実行使用メモリ | 216,664 KB |
最終ジャッジ日時 | 2025-02-02 14:58:14 |
合計ジャッジ時間 | 17,386 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 58 |
ソースコード
n, T, X, Y = map(int, input().split()) D = list(map(int, input().split())) D.sort() C = [] row = 0 for i in range(1, n): if D[i] - D[i - 1] <= T: row += 1 else: C.append(row + 1) row = 0 C.append(row + 1) C.sort(reverse=True) ans = [1 << 60] * (n + 1) tot = 0 X = min(X, Y) for i, c in enumerate(C, 0): tot += c ans[tot] = i * X for i in range(n - 1, 0, -1): ans[i] = min(ans[i], ans[i + 1]) print(*ans[1:])