結果

問題 No.467 隠されていたゲーム
ユーザー shinwisteria
提出日時 2017-03-24 18:15:30
言語 Java
(openjdk 23)
結果
WA  
実行時間 -
コード長 1,057 bytes
コンパイル時間 3,983 ms
コンパイル使用メモリ 79,848 KB
実行使用メモリ 54,348 KB
最終ジャッジ日時 2024-07-06 02:06:56
合計ジャッジ時間 8,034 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 3 WA * 2 TLE * 1 -- * 18
権限があれば一括ダウンロードができます

ソースコード

diff #

import java.util.ArrayDeque;
import java.util.Arrays;
import java.util.Queue;
import java.util.Scanner;
import java.util.TreeSet;

public class HiddenGame {

	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		int N = s.nextInt();
		int[] d = new int[N];
		for(int i = 0;i < N;i++){
			d[i] = s.nextInt();
		}
		Arrays.sort(d);
		int goalx = s.nextInt(),goaly = s.nextInt();
		s.close();
		
		int goal = Integer.max(Math.abs(goalx), Math.abs(goaly));
		int count = 2;
		TreeSet<Integer> T1 = new TreeSet<>();
		TreeSet<Integer> T2 = new TreeSet<>();
		Queue<Integer> REST = new ArrayDeque<>();
		REST.add(goal);
		
		for(;;){
			int rest = REST.poll();
			T1.clear();
			for(int i : d){
				T1.add(Math.abs(rest-i));
			}
			for(int i:T1){
				for(int j:d){
					T2.add(Math.abs(i-j));
				}
			}
			if(T2.contains(0)){
				break;
			}else if(T1.first() == T2.first()){
				count = -1;
			}
			REST.clear();
			REST.addAll(T1);
			T1 = new TreeSet<Integer>(T2);
			T2.clear();
			count++;
		}
		System.out.println(count);
	}
}
0