結果

問題 No.1337 Fair Otoshidama
ユーザー toshiro_yanagi
提出日時 2025-04-30 10:00:19
言語 Ruby
(3.4.1)
結果
AC  
実行時間 95 ms / 2,000 ms
コード長 662 bytes
コンパイル時間 332 ms
コンパイル使用メモリ 7,936 KB
実行使用メモリ 12,928 KB
最終ジャッジ日時 2025-04-30 10:00:23
合計ジャッジ時間 3,364 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 20
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #

class Start
  def main
    a = input.split.map { |s| s.to_i + 100 }
    echo func(a) ? "Yes" : "No"
    return nil
  end

  private

  def func(a)
    result = false
    #return result if a.sum % 3 != 0

    #echo "j, target, x ,a"
    for i in 0...4
      k = [0, a.min - 3].max
      a = a.map { |x| x - k }
      a = sub(a, i % 3)
    end
    result = true if a.sum % 3 == 0
    result
  end

  def sub(a, i)
    target = a.sum / 3
    j = 1 + i
    x = [a[j % 3] - target, 0].max / j * j
    a[i] += x
    a[j % 3] -= x
    #echo [j, target, x, a]
    return a
  end

  def echo(*x)
    print(*x)
    puts
  end

  def input = gets.chomp
end

Start.new.main
0