結果

問題 No.81 すべて足すだけの簡単なお仕事です。
ユーザー tshig
提出日時 2016-08-09 11:52:31
言語 Ruby
(3.4.1)
結果
WA  
(最新)
AC  
(最初)
実行時間 -
コード長 514 bytes
コンパイル時間 151 ms
コンパイル使用メモリ 7,552 KB
実行使用メモリ 12,288 KB
最終ジャッジ日時 2024-12-15 01:05:41
合計ジャッジ時間 3,830 ms
ジャッジサーバーID
(参考情報)
judge4 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 27 WA * 3
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #

class Calc0081
  def initialize(args)
    args = args.map { |l| l.chomp.split(/\s+/) }
    @n = args.shift.first.to_i
    @as = args.map(&:first)
  end

  def run
    sum = @as.map { |a|
      t = a.split('.')
      t0 = t[0].to_i * 10 ** 10
      t1 = (t[1] || '').ljust(10, '0').to_i * (a.start_with?('-') ? -1 : 1)
      t0 + t1
    }.inject(:+)

    sign = sum >= 0 ? 1 : -1
    "%d.%010d" % [(sum.abs / 10 ** 10) * sign, sum.abs % 10 ** 10]
  end
end

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