#include
#include
#include
using namespace std;
void binary(int a[], int n, int value, int i)
{
int high=n-1, mid, low=0;
while(low<=high)
{
mid=(low+high)/2;
if((value==a[mid]) && (a[i]!=a[mid]))
{
cout << a[i] << " " << a[mid] << " ";
break;
}
else if(value<a[mid])
{
high=mid-1;
}
else
{
low=mid+1;
}
}
}
int main()
{
int n, i, j, sum, k=0, value=0;
cin >> n >> sum;
int a[n];
for(i=0;i<n;i++)
{
cin >> a[i];
}
for(i=0;i<n;i++)
{
value=sum-a[i];
binary(a, n, value, i);
}
return 0;
}
*I’m getting repeated outputs. How should I prevent that?