結果
| 問題 |
No.814 ジジ抜き
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2018-02-21 14:19:47 |
| 言語 | Java (openjdk 23) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 946 bytes |
| コンパイル時間 | 2,251 ms |
| コンパイル使用メモリ | 78,000 KB |
| 実行使用メモリ | 54,524 KB |
| 最終ジャッジ日時 | 2024-09-15 08:51:07 |
| 合計ジャッジ時間 | 8,681 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | TLE * 1 -- * 22 |
ソースコード
import java.util.Comparator;
import java.util.PriorityQueue;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
new Main().run();
}
void run() {
PriorityQueue<long[]> pq = new PriorityQueue<>(new Comparator<long[]>() {
public int compare(long[] obj1, long[] obj2) {
return Long.compare(obj1[1], obj2[1]);
}
});
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
for (int i = 0; i < n; ++i) {
long K = sc.nextLong();
long L = sc.nextLong();
long D = sc.nextLong();
pq.add(new long[] { K, L, D });
}
pq.add(new long[] { -1, Long.MAX_VALUE, Long.MAX_VALUE });
while (!pq.isEmpty()) {
long[] o1 = pq.poll();
long[] o2 = pq.poll();
if (o1[1] != o2[1]) {
System.out.println(o1[1]);
return;
}
--o1[0];
--o2[0];
o1[1] += 1L << o1[2];
o2[1] += 1L << o2[2];
if (o1[0] > 0)
pq.add(o1);
if (o2[0] > 0)
pq.add(o2);
}
}
}