#include <stdio.h>
#include <limits.h>
#include <stdlib.h>
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++;
}
printf("%d\n", nearest_sum);
printf("%d %d", paira, pairb);
}
/*
run:
23
3 20
*/