結果

問題 No.1473 おでぶなおばけさん
ユーザー 小野寺健小野寺健
提出日時 2021-04-26 10:37:19
言語 Java21
(openjdk 21)
結果
TLE  
実行時間 -
コード長 2,202 bytes
コンパイル時間 3,806 ms
コンパイル使用メモリ 80,952 KB
実行使用メモリ 214,532 KB
最終ジャッジ日時 2024-07-04 19:09:34
合計ジャッジ時間 56,490 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 115 ms
46,400 KB
testcase_01 AC 109 ms
40,120 KB
testcase_02 AC 1,447 ms
82,772 KB
testcase_03 AC 1,475 ms
79,592 KB
testcase_04 AC 933 ms
71,576 KB
testcase_05 AC 476 ms
49,868 KB
testcase_06 AC 1,383 ms
76,972 KB
testcase_07 AC 1,844 ms
89,964 KB
testcase_08 TLE -
testcase_09 AC 1,790 ms
90,760 KB
testcase_10 AC 983 ms
65,712 KB
testcase_11 AC 1,041 ms
65,844 KB
testcase_12 AC 916 ms
65,644 KB
testcase_13 AC 817 ms
63,268 KB
testcase_14 AC 660 ms
56,460 KB
testcase_15 AC 858 ms
65,256 KB
testcase_16 AC 907 ms
65,704 KB
testcase_17 AC 340 ms
48,288 KB
testcase_18 AC 410 ms
49,036 KB
testcase_19 AC 818 ms
61,944 KB
testcase_20 AC 1,056 ms
72,072 KB
testcase_21 AC 1,023 ms
65,756 KB
testcase_22 AC 1,027 ms
70,720 KB
testcase_23 AC 997 ms
68,956 KB
testcase_24 AC 905 ms
71,128 KB
testcase_25 AC 1,093 ms
71,228 KB
testcase_26 AC 1,232 ms
71,764 KB
testcase_27 AC 684 ms
52,548 KB
testcase_28 AC 1,407 ms
77,900 KB
testcase_29 AC 1,060 ms
66,100 KB
testcase_30 AC 1,221 ms
70,520 KB
testcase_31 AC 1,369 ms
85,264 KB
testcase_32 AC 1,438 ms
80,692 KB
testcase_33 AC 1,157 ms
72,364 KB
testcase_34 AC 707 ms
57,964 KB
testcase_35 AC 778 ms
57,564 KB
testcase_36 AC 905 ms
63,920 KB
testcase_37 AC 1,077 ms
69,536 KB
testcase_38 AC 496 ms
49,564 KB
testcase_39 AC 930 ms
65,204 KB
testcase_40 AC 1,056 ms
65,544 KB
testcase_41 AC 1,374 ms
65,600 KB
testcase_42 AC 1,339 ms
65,768 KB
testcase_43 AC 1,263 ms
76,828 KB
testcase_44 AC 1,215 ms
78,124 KB
testcase_45 AC 1,224 ms
78,044 KB
testcase_46 TLE -
testcase_47 -- -
testcase_48 -- -
権限があれば一括ダウンロードができます

ソースコード

diff #
プレゼンテーションモードにする

package yukicoder;
import java.util.Scanner;
import java.util.List;
import java.util.ArrayList;
public class No1473_2 {
private static class Q {
int i;
int d;
public Q(int i, int d) {
this.i = i;
this.d = d;
}
}
private static int n;
private static List<List<Q>> V;
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
n = scan.nextInt();
int m = scan.nextInt();
V = new ArrayList<List<Q>>();
for (int i = 0; i < n; i++) {
V.add(new ArrayList<Q>());
}
int max_d = 0;
int min_d = Integer.MAX_VALUE;
for (int i=0; i < m; i++) {
int s = scan.nextInt() - 1;
int t = scan.nextInt() - 1;
int d = scan.nextInt();
V.get(s).add(new Q(t, d));
V.get(t).add(new Q(s, d));
max_d = Math.max(max_d, d);
min_d = Math.min(min_d, d);
}
scan.close();
Q l = new Q(min_d - 1, 0), r = new Q(max_d + 1, 0);
while (r.i - l.i > 1) {
int mid = (r.i + l.i) / 2;
int c = bfs(mid);
if (c == 0) {
r.i = mid;
r.d = 0;
} else {
l.i = mid;
l.d = c;
}
}
System.out.println(String.format("%d %d", l.i,l.d));
}
private static int bfs(int w) {
boolean[][] B = new boolean[n][2];
List<Integer> fw = new ArrayList<Integer>();
List<Integer> bw = new ArrayList<Integer>();
fw.add(0);
bw.add(n-1);
int depth = 0;
while (true) {
List<Integer> newfw = new ArrayList<Integer>();
for (int i : fw) {
B[i][0] = true;
V.get(i).sort((a,b)-> b.d - a.d);
for (Q n : V.get(i)) {
if (n.d >= w ) {
if (B[n.i][1]) {
return depth;
}
if (!B[n.i][0]) {
newfw.add(n.i);
}
} else {
break;
}
}
}
if (newfw.isEmpty()) {
depth = 0;
break;
}
fw = newfw;
depth++;
List<Integer> newbw = new ArrayList<Integer>();
for (int i : bw) {
B[i][1] = true;
V.get(i).sort((a,b)-> b.d - a.d);
for (Q n : V.get(i)) {
if (n.d >= w ) {
if (B[n.i][0]) {
return depth;
}
if (!B[n.i][1]) {
newbw.add(n.i);
}
} else {
break;
}
}
}
if (newbw.isEmpty()) {
depth = 0;
break;
}
bw = newbw;
depth++;
}
return depth;
}
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0