結果
問題 | No.280 歯車の問題(1) |
ユーザー |
![]() |
提出日時 | 2015-09-18 22:43:44 |
言語 | Java (openjdk 23) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,018 bytes |
コンパイル時間 | 2,272 ms |
コンパイル使用メモリ | 82,088 KB |
実行使用メモリ | 42,764 KB |
最終ジャッジ日時 | 2024-07-19 07:04:22 |
合計ジャッジ時間 | 8,902 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 1 WA * 30 |
ソースコード
import java.math.BigInteger; import java.util.Arrays; import java.util.HashSet; import java.util.LinkedList; import java.util.Scanner; import java.util.Set; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); final int N = sc.nextInt(); long[] zs = new long[N]; for(int i = 0; i < N; i++){ zs[i] = sc.nextLong(); } BigInteger upper = BigInteger.valueOf(zs[0]); BigInteger lower = BigInteger.valueOf(zs[1]); for(int i = 1; i < N - 1; i++){ final BigInteger inner_upper = BigInteger.valueOf(zs[i]); final BigInteger inner_lower = BigInteger.valueOf(zs[i + 1]); upper = inner_upper.multiply(lower); lower = inner_lower.max(upper); final BigInteger gcd = upper.gcd(lower); upper = upper.divide(gcd); lower = lower.divide(gcd); } final BigInteger gcd = upper.gcd(lower); upper = upper.divide(gcd); lower = lower.divide(gcd); System.out.println(lower.longValue() + "/" + upper.longValue()); } }