結果
| 問題 |
No.81 すべて足すだけの簡単なお仕事です。
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2016-10-23 23:16:51 |
| 言語 | Ruby (3.4.1) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 437 bytes |
| コンパイル時間 | 68 ms |
| コンパイル使用メモリ | 7,424 KB |
| 実行使用メモリ | 12,416 KB |
| 最終ジャッジ日時 | 2024-11-24 02:08:30 |
| 合計ジャッジ時間 | 3,762 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| 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 << [BigDecimal(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
printf "%d.%010d\n", int, (decimal.abs * (10 ** 10))