結果
| 問題 |
No.115 遠足のおやつ
|
| コンテスト | |
| ユーザー |
neko_the_shadow
|
| 提出日時 | 2019-08-05 13:36:03 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 46 ms / 5,000 ms |
| コード長 | 603 bytes |
| コンパイル時間 | 416 ms |
| コンパイル使用メモリ | 82,816 KB |
| 実行使用メモリ | 52,608 KB |
| 最終ジャッジ日時 | 2025-01-03 01:46:32 |
| 合計ジャッジ時間 | 3,760 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 40 |
ソースコード
# lo..hiからk個選択し、dを作れるかどうか?
def ok(lo, hi, k, d):
if hi - lo + 1 < k:
return False
mi = 0
mx = 0
for i in range(k):
mi += lo + i
mx += hi - i
return mi <= d <= mx
def f(n, d, k):
if not ok(1, n, k, d):
return [-1]
lo = 1
ans = []
while k > 0:
if ok(lo + 1, n, k - 1, d - lo):
ans.append(lo)
k -= 1
d -= lo
lo += 1
return ans
if __name__ == '__main__':
n, d, k = map(int, input().split())
print(' '.join(map(str, f(n, d, k))))
neko_the_shadow