Triplet that sum is equal to zero (Two Pointer Technique)

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

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

int a[n];

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

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] == 0)
{
f = 1;
cout << "Triplet are :: " << a[i] << " " << a[l] << " " << a[r] << "\n";
}

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

if(f == 0)
cout << "No Triplet Found." << "\n";

return 0;
}

Comments