結果

問題 No.280 歯車の問題(1)
コンテスト
ユーザー uafr_cs
提出日時 2015-09-18 22:39:52
言語 Java
(openjdk 25.0.2)
コンパイル:
javac -encoding UTF8 _filename_
実行:
java -ea -Xmx700m -Xss256M -DONLINE_JUDGE=true _class_
結果
WA  
実行時間 -
コード長 983 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 1,639 ms
コンパイル使用メモリ 85,860 KB
実行使用メモリ 132,920 KB
最終ジャッジ日時 2026-04-02 15:01:32
合計ジャッジ時間 5,631 ms
ジャッジサーバーID
(参考情報)
judge3_0 / judge2_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other WA * 30 MLE * 1
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

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++){
			BigInteger inner_upper = BigInteger.valueOf(zs[i]);
			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 + "/" + upper);	
		
	}

}
0