結果
問題 |
No.81 すべて足すだけの簡単なお仕事です。
|
ユーザー |
|
提出日時 | 2016-12-28 12:28:27 |
言語 | Java (openjdk 23) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,543 bytes |
コンパイル時間 | 3,640 ms |
コンパイル使用メモリ | 80,748 KB |
実行使用メモリ | 54,304 KB |
最終ジャッジ日時 | 2024-12-15 07:37:23 |
合計ジャッジ時間 | 9,100 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 26 WA * 4 |
ソースコード
import java.util.Scanner; public class Main_yukicoder81 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); long decimal = 0; long intp = 0; for (int i = 0; i < n; i++) { String a = sc.next(); int index = a.indexOf('.'); if (index == -1) { intp += Long.parseLong(a); } else { long sign = 1; if (a.charAt(0) == '-') { sign = -1; } intp += Long.parseLong(a.substring(0, index)); String tmp = a.substring(index + 1); while (tmp.length() < 10) { tmp += "0"; } decimal += sign * Long.parseLong(tmp); } } intp += decimal / 10000000000L; decimal %= 10000000000L; if ((intp >= 0 && decimal >= 0)) { System.out.printf("%d.%010d\n", intp, decimal); } else if (intp < 0 && decimal < 0) { System.out.printf("%d.%010d\n", intp, Math.abs(decimal)); } else if (intp == 0 && decimal < 0) { System.out.printf("-%d.%010d\n", intp, Math.abs(decimal)); } else if (intp > 0 && decimal < 0) { intp--; decimal += 10000000000L; System.out.printf("%d.%010d\n", intp, decimal); } else if (intp < 0 && decimal > 0) { intp++; decimal = 10000000000L - decimal; System.out.printf("%d.%010d\n", intp, decimal); } sc.close(); } }