結果
| 問題 |
No.81 すべて足すだけの簡単なお仕事です。
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2016-10-23 23:08:59 |
| 言語 | Ruby (3.4.1) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 454 bytes |
| コンパイル時間 | 163 ms |
| コンパイル使用メモリ | 7,424 KB |
| 実行使用メモリ | 12,416 KB |
| 最終ジャッジ日時 | 2024-11-24 02:08:26 |
| 合計ジャッジ時間 | 4,269 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 18 WA * 12 |
コンパイルメッセージ
Syntax OK
ソースコード
require 'bigdecimal'
n = gets.to_i
a = []
n.times do
s = gets.chomp
unless /^([-]?)(\d+)(?:[.](\d+))?$/o =~ s
warn 'must not happen'
exit 1
end
sign = $1
i, d = "#{sign}#{$2}", "#{sign}0.#{$3 || 0}"
a << [i.to_i, BigDecimal(d)]
end
int = a.map{|i, d| i }.inject(:+)
decimal = a.map{|i, d| d }.inject(:+)
d_int = decimal.to_i
int += d_int
decimal -= d_int
s_decimal = (sprintf "%.10f", decimal.abs)[2..-1]
puts "#{int}.#{s_decimal}"