Triplet that sum is equal to a given value(Two Pointer Technique)

#include<bits/stdc++.h>
using namespace std;
int main()
{
int n, x;

cout << "Enter Array Size :: ";
cin >> n;

int a[n];

cout << "\nEnter Array Element :: ";
for(int i=0;i<n;i++)
cin >> a[i];

cout << "\nEnter which element you want :: ";
cin >> x;

sort(a, a+n);

for(int i=0;i<n-2;i++)
{
int l = i+1, r = n-1;

while(l < r)
{
if(a[i] + a[l] + a[r] == x)
{
cout << "\nTriplet are :: " << a[i] << " " << a[l] << " " << a[r] << "\n";
return 0;
}

if(a[i] + a[l] + a[r] < x)
l++;
else
r--;
}
}

cout << "\nNo Triplet Found." << "\n";

return 0;
}

Comments