結果
問題 |
No.115 遠足のおやつ
|
ユーザー |
![]() |
提出日時 | 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:])