#include <iostream>
#include <climits>
int main()
{
int arr[]= {3, 5, 7, 12, 18, 20, 23, 27, 30};
int size = sizeof(arr)/sizeof(arr[0]);
int N = 22;
int left = 0, right = size - 1, sum = 0;
int nearest = INT_MAX, nearest_sum;
int paira, pairb;
while(left < right) {
sum = arr[left] + arr[right];
if (abs(N - sum) < nearest) {
nearest = abs(N -sum);
nearest_sum = sum;
paira = arr[left];
pairb = arr[right];
}
if (sum > N)
right--;
else if (sum <= N)
left++;
}
std::cout << nearest_sum << "\n";
std::cout << paira << " " << pairb;
}
/*
run:
23
3 20
*/