# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
315736 |
2020-10-23T20:40:21 Z |
KWang31 |
Graph (BOI20_graph) |
Java 11 |
|
700 ms |
71836 KB |
import java.io.*; import java.util.*;
public class Graph {
public static class Pair{
int vtx; int val;
public Pair(int a, int b){
this.vtx=a; this.val=b;
}
}
public static void main(String[] args) throws IOException {
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st=new StringTokenizer(br.readLine());
int N=Integer.parseInt(st.nextToken());
int M=Integer.parseInt(st.nextToken());
ArrayList<Pair> arl[]=new ArrayList[N];
for (int i = 0; i < N; i++) {
arl[i]=new ArrayList<>();
}
int a,b,vv;
for (int i = 0; i < M; i++) {
st=new StringTokenizer(br.readLine());
a=Integer.parseInt(st.nextToken())-1;
b=Integer.parseInt(st.nextToken())-1;
vv=Integer.parseInt(st.nextToken());
arl[a].add(new Pair(b,2*vv)); arl[b].add(new Pair(a,2*vv));
}
boolean[] vis=new boolean[N];
int[] m=new int[N];
int[] c=new int[N];
int done=0; int pt=0;
while(done<N){
while(pt<N && vis[pt]){
pt++;
}
//Start DFS at pt, finish the component
m[pt]=1; //b[pt]=0
Queue<Integer> qu=new LinkedList<>();
qu.add(pt); vis[pt]=true; done++;
Queue<Integer> qu2=new LinkedList<>();//Tracks all vertices in the queue
qu2.add(pt); boolean fix=false;
while(!qu.isEmpty()){
int v=qu.poll();
for (Pair p : arl[v]) {
if(!vis[p.vtx]){
vis[p.vtx]=true; qu.add(p.vtx);
if(!fix){
qu2.add(p.vtx);
}
m[p.vtx]=-m[v]; c[p.vtx]=p.val-c[v]; done++;
}else{
if(m[p.vtx]==m[v] && m[v]!=0){
//m[p.vtx]x+c[p.vtx]+m[v]x+c[v] is known
int x=(p.val-c[p.vtx]-c[v])/(2*m[p.vtx]); fix=true;
for(int vtx: qu2){
c[vtx]+=m[vtx]*x; m[vtx]=0;
}
}else if(m[p.vtx]+m[v]==0){//m[v]=0
if(c[p.vtx]+c[v]!=p.val){
System.out.println("NO"); return;
}
}
}
}
//System.out.println(Arrays.toString(m));
//System.out.println(Arrays.toString(c));
}
if(m[pt]!=0){//This component is not fixed
ArrayList<Integer> arl2=new ArrayList<>();
Queue<Integer> qu3=new LinkedList<>();
for (int i : qu2) {
if(m[i]<0){
m[i]=-m[i]; c[i]=-c[i]; qu3.add(i);
}
arl2.add(c[i]);
}
Collections.sort(arl2);
int med=arl2.get(arl2.size()/2);
for (int i : qu2) {
c[i]-=med;
}
while(!qu3.isEmpty()){
int i=qu3.poll();
c[i]=-c[i];
}
}
}
System.out.println("YES");
StringBuilder sb=new StringBuilder();
for (int i = 0; i < N; i++) {
sb.append((double)c[i]/2).append(" ");
}
System.out.println(sb.toString());
}
}
Compilation message
Note: Graph.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
81 ms |
10852 KB |
answer = YES |
2 |
Correct |
82 ms |
10508 KB |
answer = YES |
3 |
Correct |
82 ms |
10600 KB |
answer = YES |
4 |
Correct |
92 ms |
10436 KB |
answer = NO |
5 |
Correct |
83 ms |
10252 KB |
answer = YES |
6 |
Correct |
83 ms |
10340 KB |
answer = YES |
7 |
Correct |
82 ms |
10344 KB |
answer = YES |
8 |
Correct |
80 ms |
10608 KB |
answer = YES |
9 |
Correct |
82 ms |
10344 KB |
answer = NO |
10 |
Correct |
81 ms |
10232 KB |
answer = YES |
11 |
Correct |
84 ms |
10344 KB |
answer = YES |
12 |
Correct |
82 ms |
10348 KB |
answer = NO |
13 |
Correct |
83 ms |
10456 KB |
answer = YES |
14 |
Correct |
85 ms |
10476 KB |
answer = YES |
15 |
Correct |
84 ms |
10488 KB |
answer = YES |
16 |
Correct |
83 ms |
10356 KB |
answer = YES |
17 |
Correct |
80 ms |
10232 KB |
answer = YES |
18 |
Correct |
82 ms |
10216 KB |
answer = YES |
19 |
Correct |
83 ms |
10356 KB |
answer = YES |
20 |
Correct |
83 ms |
10484 KB |
answer = YES |
21 |
Correct |
83 ms |
10436 KB |
answer = YES |
22 |
Correct |
79 ms |
10232 KB |
answer = NO |
23 |
Correct |
80 ms |
10476 KB |
answer = NO |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
81 ms |
10852 KB |
answer = YES |
2 |
Correct |
82 ms |
10508 KB |
answer = YES |
3 |
Correct |
82 ms |
10600 KB |
answer = YES |
4 |
Correct |
92 ms |
10436 KB |
answer = NO |
5 |
Correct |
83 ms |
10252 KB |
answer = YES |
6 |
Correct |
83 ms |
10340 KB |
answer = YES |
7 |
Correct |
82 ms |
10344 KB |
answer = YES |
8 |
Correct |
80 ms |
10608 KB |
answer = YES |
9 |
Correct |
82 ms |
10344 KB |
answer = NO |
10 |
Correct |
81 ms |
10232 KB |
answer = YES |
11 |
Correct |
84 ms |
10344 KB |
answer = YES |
12 |
Correct |
82 ms |
10348 KB |
answer = NO |
13 |
Correct |
83 ms |
10456 KB |
answer = YES |
14 |
Correct |
85 ms |
10476 KB |
answer = YES |
15 |
Correct |
84 ms |
10488 KB |
answer = YES |
16 |
Correct |
83 ms |
10356 KB |
answer = YES |
17 |
Correct |
80 ms |
10232 KB |
answer = YES |
18 |
Correct |
82 ms |
10216 KB |
answer = YES |
19 |
Correct |
83 ms |
10356 KB |
answer = YES |
20 |
Correct |
83 ms |
10484 KB |
answer = YES |
21 |
Correct |
83 ms |
10436 KB |
answer = YES |
22 |
Correct |
79 ms |
10232 KB |
answer = NO |
23 |
Correct |
80 ms |
10476 KB |
answer = NO |
24 |
Correct |
94 ms |
10608 KB |
answer = YES |
25 |
Correct |
87 ms |
10496 KB |
answer = YES |
26 |
Correct |
88 ms |
10564 KB |
answer = YES |
27 |
Correct |
88 ms |
10600 KB |
answer = YES |
28 |
Correct |
89 ms |
10472 KB |
answer = YES |
29 |
Correct |
95 ms |
10616 KB |
answer = YES |
30 |
Correct |
85 ms |
10232 KB |
answer = NO |
31 |
Correct |
88 ms |
10488 KB |
answer = YES |
32 |
Correct |
87 ms |
10556 KB |
answer = YES |
33 |
Correct |
84 ms |
10488 KB |
answer = YES |
34 |
Correct |
91 ms |
10612 KB |
answer = YES |
35 |
Correct |
85 ms |
10344 KB |
answer = YES |
36 |
Correct |
90 ms |
10512 KB |
answer = YES |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
81 ms |
10852 KB |
answer = YES |
2 |
Correct |
82 ms |
10508 KB |
answer = YES |
3 |
Correct |
82 ms |
10600 KB |
answer = YES |
4 |
Correct |
92 ms |
10436 KB |
answer = NO |
5 |
Correct |
83 ms |
10252 KB |
answer = YES |
6 |
Correct |
83 ms |
10340 KB |
answer = YES |
7 |
Correct |
82 ms |
10344 KB |
answer = YES |
8 |
Correct |
80 ms |
10608 KB |
answer = YES |
9 |
Correct |
82 ms |
10344 KB |
answer = NO |
10 |
Correct |
81 ms |
10232 KB |
answer = YES |
11 |
Correct |
84 ms |
10344 KB |
answer = YES |
12 |
Correct |
82 ms |
10348 KB |
answer = NO |
13 |
Correct |
83 ms |
10456 KB |
answer = YES |
14 |
Correct |
85 ms |
10476 KB |
answer = YES |
15 |
Correct |
84 ms |
10488 KB |
answer = YES |
16 |
Correct |
83 ms |
10356 KB |
answer = YES |
17 |
Correct |
80 ms |
10232 KB |
answer = YES |
18 |
Correct |
82 ms |
10216 KB |
answer = YES |
19 |
Correct |
83 ms |
10356 KB |
answer = YES |
20 |
Correct |
83 ms |
10484 KB |
answer = YES |
21 |
Correct |
83 ms |
10436 KB |
answer = YES |
22 |
Correct |
79 ms |
10232 KB |
answer = NO |
23 |
Correct |
80 ms |
10476 KB |
answer = NO |
24 |
Correct |
94 ms |
10608 KB |
answer = YES |
25 |
Correct |
87 ms |
10496 KB |
answer = YES |
26 |
Correct |
88 ms |
10564 KB |
answer = YES |
27 |
Correct |
88 ms |
10600 KB |
answer = YES |
28 |
Correct |
89 ms |
10472 KB |
answer = YES |
29 |
Correct |
95 ms |
10616 KB |
answer = YES |
30 |
Correct |
85 ms |
10232 KB |
answer = NO |
31 |
Correct |
88 ms |
10488 KB |
answer = YES |
32 |
Correct |
87 ms |
10556 KB |
answer = YES |
33 |
Correct |
84 ms |
10488 KB |
answer = YES |
34 |
Correct |
91 ms |
10612 KB |
answer = YES |
35 |
Correct |
85 ms |
10344 KB |
answer = YES |
36 |
Correct |
90 ms |
10512 KB |
answer = YES |
37 |
Correct |
99 ms |
10728 KB |
answer = YES |
38 |
Correct |
98 ms |
10764 KB |
answer = YES |
39 |
Correct |
116 ms |
11256 KB |
answer = YES |
40 |
Correct |
126 ms |
11512 KB |
answer = YES |
41 |
Correct |
109 ms |
11128 KB |
answer = NO |
42 |
Correct |
126 ms |
11384 KB |
answer = YES |
43 |
Correct |
125 ms |
11516 KB |
answer = YES |
44 |
Correct |
132 ms |
11524 KB |
answer = YES |
45 |
Correct |
127 ms |
11752 KB |
answer = YES |
46 |
Correct |
110 ms |
11128 KB |
answer = YES |
47 |
Correct |
126 ms |
12648 KB |
answer = YES |
48 |
Correct |
130 ms |
12520 KB |
answer = YES |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
81 ms |
10852 KB |
answer = YES |
2 |
Correct |
82 ms |
10508 KB |
answer = YES |
3 |
Correct |
82 ms |
10600 KB |
answer = YES |
4 |
Correct |
92 ms |
10436 KB |
answer = NO |
5 |
Correct |
83 ms |
10252 KB |
answer = YES |
6 |
Correct |
83 ms |
10340 KB |
answer = YES |
7 |
Correct |
82 ms |
10344 KB |
answer = YES |
8 |
Correct |
80 ms |
10608 KB |
answer = YES |
9 |
Correct |
82 ms |
10344 KB |
answer = NO |
10 |
Correct |
81 ms |
10232 KB |
answer = YES |
11 |
Correct |
84 ms |
10344 KB |
answer = YES |
12 |
Correct |
82 ms |
10348 KB |
answer = NO |
13 |
Correct |
83 ms |
10456 KB |
answer = YES |
14 |
Correct |
85 ms |
10476 KB |
answer = YES |
15 |
Correct |
84 ms |
10488 KB |
answer = YES |
16 |
Correct |
83 ms |
10356 KB |
answer = YES |
17 |
Correct |
80 ms |
10232 KB |
answer = YES |
18 |
Correct |
82 ms |
10216 KB |
answer = YES |
19 |
Correct |
83 ms |
10356 KB |
answer = YES |
20 |
Correct |
83 ms |
10484 KB |
answer = YES |
21 |
Correct |
83 ms |
10436 KB |
answer = YES |
22 |
Correct |
79 ms |
10232 KB |
answer = NO |
23 |
Correct |
80 ms |
10476 KB |
answer = NO |
24 |
Correct |
94 ms |
10608 KB |
answer = YES |
25 |
Correct |
87 ms |
10496 KB |
answer = YES |
26 |
Correct |
88 ms |
10564 KB |
answer = YES |
27 |
Correct |
88 ms |
10600 KB |
answer = YES |
28 |
Correct |
89 ms |
10472 KB |
answer = YES |
29 |
Correct |
95 ms |
10616 KB |
answer = YES |
30 |
Correct |
85 ms |
10232 KB |
answer = NO |
31 |
Correct |
88 ms |
10488 KB |
answer = YES |
32 |
Correct |
87 ms |
10556 KB |
answer = YES |
33 |
Correct |
84 ms |
10488 KB |
answer = YES |
34 |
Correct |
91 ms |
10612 KB |
answer = YES |
35 |
Correct |
85 ms |
10344 KB |
answer = YES |
36 |
Correct |
90 ms |
10512 KB |
answer = YES |
37 |
Correct |
99 ms |
10728 KB |
answer = YES |
38 |
Correct |
98 ms |
10764 KB |
answer = YES |
39 |
Correct |
116 ms |
11256 KB |
answer = YES |
40 |
Correct |
126 ms |
11512 KB |
answer = YES |
41 |
Correct |
109 ms |
11128 KB |
answer = NO |
42 |
Correct |
126 ms |
11384 KB |
answer = YES |
43 |
Correct |
125 ms |
11516 KB |
answer = YES |
44 |
Correct |
132 ms |
11524 KB |
answer = YES |
45 |
Correct |
127 ms |
11752 KB |
answer = YES |
46 |
Correct |
110 ms |
11128 KB |
answer = YES |
47 |
Correct |
126 ms |
12648 KB |
answer = YES |
48 |
Correct |
130 ms |
12520 KB |
answer = YES |
49 |
Correct |
334 ms |
20788 KB |
answer = YES |
50 |
Correct |
332 ms |
21240 KB |
answer = YES |
51 |
Correct |
350 ms |
21968 KB |
answer = YES |
52 |
Correct |
224 ms |
18176 KB |
answer = NO |
53 |
Correct |
143 ms |
11512 KB |
answer = YES |
54 |
Correct |
239 ms |
15604 KB |
answer = YES |
55 |
Correct |
245 ms |
16492 KB |
answer = YES |
56 |
Correct |
385 ms |
22528 KB |
answer = YES |
57 |
Correct |
339 ms |
21904 KB |
answer = YES |
58 |
Correct |
338 ms |
21704 KB |
answer = YES |
59 |
Correct |
282 ms |
19020 KB |
answer = YES |
60 |
Correct |
344 ms |
22252 KB |
answer = YES |
61 |
Correct |
226 ms |
17076 KB |
answer = YES |
62 |
Correct |
576 ms |
69896 KB |
answer = NO |
63 |
Execution timed out |
709 ms |
71836 KB |
Time limit exceeded |
64 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
81 ms |
10852 KB |
answer = YES |
2 |
Correct |
82 ms |
10508 KB |
answer = YES |
3 |
Correct |
82 ms |
10600 KB |
answer = YES |
4 |
Correct |
92 ms |
10436 KB |
answer = NO |
5 |
Correct |
83 ms |
10252 KB |
answer = YES |
6 |
Correct |
83 ms |
10340 KB |
answer = YES |
7 |
Correct |
82 ms |
10344 KB |
answer = YES |
8 |
Correct |
80 ms |
10608 KB |
answer = YES |
9 |
Correct |
82 ms |
10344 KB |
answer = NO |
10 |
Correct |
81 ms |
10232 KB |
answer = YES |
11 |
Correct |
84 ms |
10344 KB |
answer = YES |
12 |
Correct |
82 ms |
10348 KB |
answer = NO |
13 |
Correct |
83 ms |
10456 KB |
answer = YES |
14 |
Correct |
85 ms |
10476 KB |
answer = YES |
15 |
Correct |
84 ms |
10488 KB |
answer = YES |
16 |
Correct |
83 ms |
10356 KB |
answer = YES |
17 |
Correct |
80 ms |
10232 KB |
answer = YES |
18 |
Correct |
82 ms |
10216 KB |
answer = YES |
19 |
Correct |
83 ms |
10356 KB |
answer = YES |
20 |
Correct |
83 ms |
10484 KB |
answer = YES |
21 |
Correct |
83 ms |
10436 KB |
answer = YES |
22 |
Correct |
79 ms |
10232 KB |
answer = NO |
23 |
Correct |
80 ms |
10476 KB |
answer = NO |
24 |
Correct |
94 ms |
10608 KB |
answer = YES |
25 |
Correct |
87 ms |
10496 KB |
answer = YES |
26 |
Correct |
88 ms |
10564 KB |
answer = YES |
27 |
Correct |
88 ms |
10600 KB |
answer = YES |
28 |
Correct |
89 ms |
10472 KB |
answer = YES |
29 |
Correct |
95 ms |
10616 KB |
answer = YES |
30 |
Correct |
85 ms |
10232 KB |
answer = NO |
31 |
Correct |
88 ms |
10488 KB |
answer = YES |
32 |
Correct |
87 ms |
10556 KB |
answer = YES |
33 |
Correct |
84 ms |
10488 KB |
answer = YES |
34 |
Correct |
91 ms |
10612 KB |
answer = YES |
35 |
Correct |
85 ms |
10344 KB |
answer = YES |
36 |
Correct |
90 ms |
10512 KB |
answer = YES |
37 |
Correct |
99 ms |
10728 KB |
answer = YES |
38 |
Correct |
98 ms |
10764 KB |
answer = YES |
39 |
Correct |
116 ms |
11256 KB |
answer = YES |
40 |
Correct |
126 ms |
11512 KB |
answer = YES |
41 |
Correct |
109 ms |
11128 KB |
answer = NO |
42 |
Correct |
126 ms |
11384 KB |
answer = YES |
43 |
Correct |
125 ms |
11516 KB |
answer = YES |
44 |
Correct |
132 ms |
11524 KB |
answer = YES |
45 |
Correct |
127 ms |
11752 KB |
answer = YES |
46 |
Correct |
110 ms |
11128 KB |
answer = YES |
47 |
Correct |
126 ms |
12648 KB |
answer = YES |
48 |
Correct |
130 ms |
12520 KB |
answer = YES |
49 |
Correct |
334 ms |
20788 KB |
answer = YES |
50 |
Correct |
332 ms |
21240 KB |
answer = YES |
51 |
Correct |
350 ms |
21968 KB |
answer = YES |
52 |
Correct |
224 ms |
18176 KB |
answer = NO |
53 |
Correct |
143 ms |
11512 KB |
answer = YES |
54 |
Correct |
239 ms |
15604 KB |
answer = YES |
55 |
Correct |
245 ms |
16492 KB |
answer = YES |
56 |
Correct |
385 ms |
22528 KB |
answer = YES |
57 |
Correct |
339 ms |
21904 KB |
answer = YES |
58 |
Correct |
338 ms |
21704 KB |
answer = YES |
59 |
Correct |
282 ms |
19020 KB |
answer = YES |
60 |
Correct |
344 ms |
22252 KB |
answer = YES |
61 |
Correct |
226 ms |
17076 KB |
answer = YES |
62 |
Correct |
576 ms |
69896 KB |
answer = NO |
63 |
Execution timed out |
709 ms |
71836 KB |
Time limit exceeded |
64 |
Halted |
0 ms |
0 KB |
- |