2
public int maximumScore(int[] scores, int[][] edges) {5
int[][] count = new int[n][6];6
for (int[] edge : edges) {9
if (count[s][0] == 0) {11
count[s][0] = scores[e];12
} else if (count[s][2] == 0) {13
if (scores[e] > count[s][0]) {14
count[s][3] = count[s][1];15
count[s][2] = count[s][0];17
count[s][0] = scores[e];20
count[s][2] = scores[e];22
} else if (scores[e] > count[s][4]) {23
if (scores[e] > count[s][0]) {24
count[s][5] = count[s][3];25
count[s][4] = count[s][2];26
count[s][3] = count[s][1];27
count[s][2] = count[s][0];29
count[s][0] = scores[e];30
} else if (scores[e] > count[s][2]) {31
count[s][5] = count[s][3];32
count[s][4] = count[s][2];34
count[s][2] = scores[e];37
count[s][4] = scores[e];40
if (count[e][0] == 0) {42
count[e][0] = scores[s];43
} else if (count[e][2] == 0) {44
if (scores[s] > count[e][0]) {45
count[e][3] = count[e][1];46
count[e][2] = count[e][0];48
count[e][0] = scores[s];51
count[e][2] = scores[s];53
} else if (scores[s] > count[e][4]) {54
if (scores[s] > count[e][0]) {55
count[e][5] = count[e][3];56
count[e][4] = count[e][2];57
count[e][3] = count[e][1];58
count[e][2] = count[e][0];60
count[e][0] = scores[s];61
} else if (scores[s] > count[e][2]) {62
count[e][5] = count[e][3];63
count[e][4] = count[e][2];65
count[e][2] = scores[s];68
count[e][4] = scores[s];73
for (int[] edge : edges) {76
int pos = scores[s] + scores[e];80
if (count[s][1] == e) {81
if (count[s][2] == 0) fine = false;83
if (count[s][4] > 0) p2 = count[s][5];84
} else if (count[s][3] == e) {85
if (count[s][0] == 0) fine = false;87
if (count[s][4] > 0) p2 = count[s][5];90
if (count[s][0] == 0) fine = false;91
if (count[s][2] > 0) p2 = count[s][3];95
if (count[e][1] == s) {96
if (count[e][2] == 0) fine = false;98
if (count[e][4] > 0) p4 = count[e][5];99
} else if (count[e][3] == s) {100
if (count[e][0] == 0) fine = false;102
if (count[e][4] > 0) p4 = count[e][5];105
if (count[e][0] == 0) fine = false;106
if (count[e][2] > 0) p4 = count[e][3];110
if (p4 > -1) max = Math.max(max, pos + scores[p1] + scores[p4]);111
if (p2 > -1) max = Math.max(max, pos + scores[p1] + scores[p2]);113
max = Math.max(max, pos + scores[p1] + scores[p3]);