using
System;
public
class
GFG
{
static
void
hasArrayTwoPairs(
int
[] nums,
int
n,
int
target)
{
Array.Sort(nums);
for
(
int
i = 0; i < n; i++)
{
int
x = target - nums[i];
int
low = 0, high = n - 1;
while
(low <= high)
{
int
mid = low + ((high - low) / 2);
if
(nums[mid] > x) {
high = mid - 1;
}
else
if
(nums[mid] < x) {
low = mid + 1;
}
else
{
if
(mid == i) {
if
((mid - 1 >= 0) && nums[mid - 1] == x) {
Console.Write(nums[i] +
", "
);
Console.Write( nums[mid - 1]);
return
;
}
if
((mid + 1 < n) && nums[mid + 1] == x) {
Console.Write( nums[i] +
", "
);
Console.Write( nums[mid + 1]);
return
;
}
break
;
}
else
{
Console.Write( nums[i] +
", "
);
Console.Write(nums[mid]);
return
;
}
}
}
}
Console.Write(-1);
}
static
public
void
Main (){
int
[] A = { 0, -1, 2, -3, 1 };
int
X = -2;
int
N = A.Length;
hasArrayTwoPairs(A, N, X);
}
}