結果
問題 | No.77 レンガのピラミッド |
ユーザー |
|
提出日時 | 2017-02-21 21:27:50 |
言語 | Ruby (3.4.1) |
結果 |
AC
|
実行時間 | 102 ms / 5,000 ms |
コード長 | 1,010 bytes |
コンパイル時間 | 242 ms |
コンパイル使用メモリ | 7,424 KB |
実行使用メモリ | 12,288 KB |
最終ジャッジ日時 | 2024-12-30 15:05:54 |
合計ジャッジ時間 | 3,842 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 5 |
other | AC * 20 |
コンパイルメッセージ
Syntax OK
ソースコード
class Yukicoder def initialize @n = gets.to_i @blocks = gets.chomp.split.map(&:to_i) end def run ans = 999999999 1.upto(100) do |i| plus = 0 minus = 0 require_num = 1 i.times do |j| if j < @n if @blocks[j] < require_num minus += require_num - @blocks[j] else plus += @blocks[j] - require_num end else minus += require_num end require_num += 1 end require_num = i-1 (i-1).times do |j| if (i + j) < @n if @blocks[i + j] < require_num minus += require_num - @blocks[i + j] else plus += @blocks[i + j] - require_num end else minus += require_num end require_num -= 1 end ((2*i-1)...@n).each do |j| plus += @blocks[j] end ans = plus if plus >= minus && plus < ans end return ans end end puts Yukicoder.new.run