結果
問題 |
No.115 遠足のおやつ
|
ユーザー |
|
提出日時 | 2023-07-02 16:02:48 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 67 ms / 5,000 ms |
コード長 | 625 bytes |
コンパイル時間 | 290 ms |
コンパイル使用メモリ | 81,980 KB |
実行使用メモリ | 73,200 KB |
最終ジャッジ日時 | 2024-07-16 11:45:27 |
合計ジャッジ時間 | 3,477 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 40 |
ソースコード
n, d, k = map(int, input().split()) DP = [[[False for _ in range(d + 1)] for _ in range(k + 1)] for _ in range(n + 1)] DP[0][0][0] = True for i in range(n): for x in range(k + 1): for j in range(d + 1): if DP[i][x][j]: DP[i + 1][x][j] = True if x + 1 <= k and i + j + 1 <= d: DP[i + 1][x + 1][i + j + 1] = True if not DP[n][k][d]: print(-1) exit() ANS = [] cc = d num = k - 1 for i in range(n, 0, -1): if cc - i < 0: continue if DP[i][num][cc - i]: ANS.append(i) cc -= i num -= 1 print(*ANS[::-1])