Yukicoder No.81 すべて足すだけの簡単なお仕事です。

,

http://yukicoder.me/problems/no/81

%20さんが大量撃墜してた。 これに関する彼のblog記事は面白かったので読むとよい: yukicoder No.81 すべて足すだけの簡単なお仕事です。 - 37.50.48

solution

(言語縛りでなければ)多倍長演算ができる言語を使えばよい。

あるいは__float128(仮数部$10$進$33$桁ぐらい)を使ってもよさそう。 __float80(仮数部$64$bit)だとちょっと足りない。

implementation

intfractionsでもよいが、decimalが直接的で楽だった。

#!/usr/bin/env python3
import decimal
n = int(input())
a = [ decimal.Decimal(input()) for _ in range(n) ]
# print('%.10f' % sum(a)) # WA
print('{:.10f}'.format(sum(a)))