编辑代码

// 设置标准输入接口
const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;

void (async function () {
  const n = Number(await readline());
  const arr = (await readline()).split("").map(Number);
  let i = 0,
    j = n - 1;
  while (i < j) {
    let a = arr[i];
    let b = arr[j];
    // if (
    //   arr.includes((a - b) / 2) ||
    //   arr.includes((b - a) / 2) ||
    //   arr.includes(a - b * 2) ||
    //   arr.includes(b - a * 2) ||
    //   arr.includes(a + b * 2) ||
    //   arr.includes(b + a * 2)
    // ) {
    //   console.log(a, b);
    // }
    const hasA = arr.findIndex(
      (val, idx) => val == (a - b) / 2 && idx !== i && idx !== j
    );
    const hasB = arr.findIndex(
      (val, idx) => val == (b - a) / 2 && idx !== i && idx !== j
    );
    const hasC = arr.findIndex(
      (val, idx) => val == a - b * 2 && idx !== i && idx !== j
    );
    const hasD = arr.findIndex(
      (val, idx) => val == b - a * 2 && idx !== i && idx !== j
    );
    const hasE = arr.findIndex(
      (val, idx) => val == a + b * 2 && idx !== i && idx !== j
    );
    const c = [hasA, hasB, hasC, hasD, hasE].filter((val) => val !== -1)[0];
    if (a == b + 2 * arr[c]) return console.log(a, b, arr[c]);
    if (a == arr[c] + b * 2) return console.log(a, arr[c], b);
    if (b == a + 2 * arr[c]) return console.log(b, a, arr[c]);
    if (b == arr[c] + a * 2) return console.log(b, arr[c], a);
    if (arr[c] == a + b * 2) return console.log(arr[c], a, b);
    if (arr[c] == b + a * 2) return console.log(arr[c], b, a);
    j--;
  }
  console.log(0);
})();