結果
問題 | No.81 すべて足すだけの簡単なお仕事です。 |
ユーザー |
|
提出日時 | 2014-11-28 17:06:53 |
言語 | Java (openjdk 23) |
結果 |
WA
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 1,026 bytes |
コンパイル時間 | 4,671 ms |
コンパイル使用メモリ | 80,040 KB |
実行使用メモリ | 41,948 KB |
最終ジャッジ日時 | 2024-12-15 00:28:52 |
合計ジャッジ時間 | 9,225 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 26 WA * 4 |
ソースコード
import java.text.NumberFormat; import java.util.Scanner; public class Main81 { public static void main(String[] args) { Main81 p = new Main81(); } public Main81() { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); String[] a = new String[n]; for(int i=0;i<n;i++) a[i] = sc.next(); solve(a); } private final int NUM_DIGITS = 10; public void solve(String[] a) { long in = 0; long fr = 0; NumberFormat nf = NumberFormat.getInstance(); nf.setMinimumFractionDigits(NUM_DIGITS); for(int j=0;j<a.length;j++){ String[] s = (a[j]+".0").split("\\."); long l = Long.parseLong(s[0]); long f = Long.parseLong(nf.format(Double.parseDouble("0."+s[1])).substring(2)); in += l; fr = fr + f * (s[0].charAt(0) == '-' ? (-1) : 1) ; } int sign = in>=0 ? 1 : -1; in -= 1.0e3 * sign; fr += 1.0e13 * sign; in += (long)(fr/1.0e10); fr %= 1.0e10; System.out.println(String.format("%d.%010d", in ,Math.abs(fr))); } }