const arr = [3, 5, 7, 12, 18, 20, 23, 27, 30];
const size = arr.length;
const N = 22;
let left = 0, right = size - 1, sum = 0;
let nearest = Number.MAX_VALUE, nearest_sum = 0;
let paira = 0, pairb = 0;
while (left < right) {
sum = arr[left] + arr[right];
if (Math.abs(N - sum) < nearest) {
nearest = Math.abs(N -sum);
nearest_sum = sum;
paira = arr[left];
pairb = arr[right];
}
if (sum > N)
right--;
else if (sum <= N)
left++;
}
console.log(nearest_sum);
console.log(paira + " " + pairb);
/*
run:
23
"3 20"
*/