class Main {
public static void main
(String[] args
) { // Sample array
int[] arr = {1, 2, 3, 4, 5, 6};
int n = arr.length;
int start = 0;
int end = n - 1;
int turn = 1;
boolean reversed = false;
int p1 = 0;
int p2 = 0;
// Using '<=' ensures the last remaining single element is played
while (start <= end) {
int selected = 0;
if (turn % 2 != 0) { // Player 1's turn
if (reversed == false) {
p1 = p1 + arr[start];
selected = arr[start];
start++; // Consume from front
} else {
p1 = p1 + arr[end];
selected = arr[end];
end--; // Consume from back
}
} else { // Player 2's turn
if (reversed == false) {
p2 = p2 + arr[start];
selected = arr[start];
start++; // Consume from front
} else {
p2 = p2 + arr[end];
selected = arr[end];
end--; // Consume from back
}
}
// Reversal condition logic
if (selected % 2 == 0) {
if (reversed == false) {
reversed = true;
} else {
reversed = false;
}
}
turn++;
}
// Calculate the score difference
int scoreDifference = p1 - p2;
System.
out.
println("Player 1 Score: " + p1
); System.
out.
println("Player 2 Score: " + p2
); System.
out.
println("Score Difference (P1 - P2): " + scoreDifference
); }
}
Y2xhc3MgTWFpbiB7CiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB7CiAgICAgICAgLy8gU2FtcGxlIGFycmF5CiAgICAgICAgaW50W10gYXJyID0gezEsIDIsIDMsIDQsIDUsIDZ9OwogICAgICAgIGludCBuID0gYXJyLmxlbmd0aDsKICAgICAgICAKICAgICAgICBpbnQgc3RhcnQgPSAwOyAKICAgICAgICBpbnQgZW5kID0gbiAtIDE7IAogICAgICAgIGludCB0dXJuID0gMTsKICAgICAgICBib29sZWFuIHJldmVyc2VkID0gZmFsc2U7CiAgICAgICAgCiAgICAgICAgaW50IHAxID0gMDsKICAgICAgICBpbnQgcDIgPSAwOwoKICAgICAgICAvLyBVc2luZyAnPD0nIGVuc3VyZXMgdGhlIGxhc3QgcmVtYWluaW5nIHNpbmdsZSBlbGVtZW50IGlzIHBsYXllZAogICAgICAgIHdoaWxlIChzdGFydCA8PSBlbmQpIHsKICAgICAgICAgICAgaW50IHNlbGVjdGVkID0gMDsKICAgICAgICAgICAgCiAgICAgICAgICAgIGlmICh0dXJuICUgMiAhPSAwKSB7IC8vIFBsYXllciAxJ3MgdHVybgogICAgICAgICAgICAgICAgaWYgKHJldmVyc2VkID09IGZhbHNlKSB7CiAgICAgICAgICAgICAgICAgICAgcDEgPSBwMSArIGFycltzdGFydF07CiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQgPSBhcnJbc3RhcnRdOwogICAgICAgICAgICAgICAgICAgIHN0YXJ0Kys7IC8vIENvbnN1bWUgZnJvbSBmcm9udAogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBwMSA9IHAxICsgYXJyW2VuZF07CiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQgPSBhcnJbZW5kXTsKICAgICAgICAgICAgICAgICAgICBlbmQtLTsgLy8gQ29uc3VtZSBmcm9tIGJhY2sKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIHsgLy8gUGxheWVyIDIncyB0dXJuCiAgICAgICAgICAgICAgICBpZiAocmV2ZXJzZWQgPT0gZmFsc2UpIHsKICAgICAgICAgICAgICAgICAgICBwMiA9IHAyICsgYXJyW3N0YXJ0XTsKICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZCA9IGFycltzdGFydF07CiAgICAgICAgICAgICAgICAgICAgc3RhcnQrKzsgLy8gQ29uc3VtZSBmcm9tIGZyb250CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIHAyID0gcDIgKyBhcnJbZW5kXTsKICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZCA9IGFycltlbmRdOwogICAgICAgICAgICAgICAgICAgIGVuZC0tOyAvLyBDb25zdW1lIGZyb20gYmFjawogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIAogICAgICAgICAgICAvLyBSZXZlcnNhbCBjb25kaXRpb24gbG9naWMKICAgICAgICAgICAgaWYgKHNlbGVjdGVkICUgMiA9PSAwKSB7CiAgICAgICAgICAgICAgICBpZiAocmV2ZXJzZWQgPT0gZmFsc2UpIHsKICAgICAgICAgICAgICAgICAgICByZXZlcnNlZCA9IHRydWU7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIHJldmVyc2VkID0gZmFsc2U7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgCiAgICAgICAgICAgIHR1cm4rKzsKICAgICAgICB9CgogICAgICAgIC8vIENhbGN1bGF0ZSB0aGUgc2NvcmUgZGlmZmVyZW5jZQogICAgICAgIGludCBzY29yZURpZmZlcmVuY2UgPSBwMSAtIHAyOwogICAgICAgIAogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiUGxheWVyIDEgU2NvcmU6ICIgKyBwMSk7CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJQbGF5ZXIgMiBTY29yZTogIiArIHAyKTsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIlNjb3JlIERpZmZlcmVuY2UgKFAxIC0gUDIpOiAiICsgc2NvcmVEaWZmZXJlbmNlKTsKICAgIH0KfQo=