結果
| 問題 |
No.115 遠足のおやつ
|
| コンテスト | |
| ユーザー |
kichirb3
|
| 提出日時 | 2018-03-19 22:25:41 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
AC
|
| 実行時間 | 35 ms / 5,000 ms |
| コード長 | 822 bytes |
| コンパイル時間 | 107 ms |
| コンパイル使用メモリ | 12,288 KB |
| 実行使用メモリ | 10,496 KB |
| 最終ジャッジ日時 | 2025-01-03 01:28:01 |
| 合計ジャッジ時間 | 2,742 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 40 |
ソースコード
# -*- coding: utf-8 -*-
"""
No.115 遠足のおやつ
https://yukicoder.me/problems/no/115
"""
import sys
from sys import stdin
input = stdin.readline
def solve(N, D, K):
total_min = (1 + K) * K // 2
total_max = (N-K+1 + N) * K // 2
if D < total_min:
return [-1]
if D > total_max:
return [-1]
res = list(range(1, K+1))
max_n = N
last_r = K - 1
diff = D - sum(res)
while (diff != 0):
if diff <= (max_n - res[last_r]):
res[last_r] += diff
break
else:
res[last_r] = max_n
max_n -= 1
last_r -= 1
diff = D - sum(res)
return res
def main(args):
N, D, K = map(int, input().split())
ans = solve(N, D, K)
print(*ans)
if __name__ == '__main__':
main(sys.argv[1:])
kichirb3