結果
| 問題 | No.774 tatyamと素数大富豪 |
| コンテスト | |
| ユーザー |
neko_the_shadow
|
| 提出日時 | 2019-02-21 11:48:46 |
| 言語 | Java (openjdk 23) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 1,249 bytes |
| 記録 | |
| コンパイル時間 | 3,419 ms |
| コンパイル使用メモリ | 82,360 KB |
| 実行使用メモリ | 138,652 KB |
| 最終ジャッジ日時 | 2024-11-17 09:53:56 |
| 合計ジャッジ時間 | 33,778 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 TLE * 1 |
| other | AC * 4 TLE * 10 |
ソースコード
import java.math.BigInteger;
import java.util.ArrayDeque;
import java.util.Deque;
import java.util.Scanner;
import java.util.stream.IntStream;
public class Main {
public static void main(String[] args) {
Scanner stdin = new Scanner(System.in);
int n = stdin.nextInt();
String[] a = new String[n];
IntStream.range(0, n).forEach(i -> a[i] = stdin.next());
Deque<String> strs = new ArrayDeque<>();
Deque<Integer> bits = new ArrayDeque<>();
strs.addLast("");
bits.addLast(0);
BigInteger answer = new BigInteger("-1");
while (!strs.isEmpty()) {
String str = strs.pollFirst();
int bit = bits.pollFirst();
if (bit == (1 << n) - 1) {
BigInteger val = new BigInteger(str);
if (val.isProbablePrime(1)) answer = answer.max(val);
} else {
for (int i = 0; i < n; i++) {
if ((bit & (1 << i)) != 0) continue;
strs.addLast(str + a[i]);
bits.addLast(bit | (1 << i));
}
}
}
System.out.println(answer);
}
}
neko_the_shadow