結果

問題 No.115 遠足のおやつ
ユーザー tshigtshig
提出日時 2016-08-19 16:05:00
言語 Ruby
(3.4.1)
結果
AC  
実行時間 88 ms / 5,000 ms
コード長 514 bytes
コンパイル時間 156 ms
コンパイル使用メモリ 8,064 KB
実行使用メモリ 13,056 KB
最終ジャッジ日時 2025-01-03 01:14:12
合計ジャッジ時間 5,178 ms
ジャッジサーバーID
(参考情報)
judge5 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 40
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #

class Calc0115
  def initialize(args)
    args = args.map { |l| l.chomp.split(/\s+/) }
    @n, @d, @k = args.shift.map(&:to_i)
  end

  def calc
    packed = []
    d = @d
    @k.times do |i|
      h = [d - (@k - i - 1) * (@k - i) / 2, (packed.last || @n + 1) - 1].min
      if h < @k - i
        return nil
      end
      packed << h
      d -= h
    end
    d == 0 ? packed.reverse : nil
  end

  def run
    r = calc
    r ? r.join(' ') : -1
  end
end

puts Calc0115.new(STDIN.readlines).run if __FILE__ == $0
0