➤ Problem Link : 1166C. A Tale of Two Lands
✅ C++ Solution :
#include<bits/stdc++.h>
using namespace std;
#define ll long long int
int main()
{
int n;
cin>>n;
ll arr[n];
for(int i=0;i<n;i++)
{
cin>>arr[i];
arr[i]=abs(arr[i]);
}
sort(arr,arr+n);
ll ans=0;
ll low,mid,high;
for(int i=0;i<n-1;i++)
{
low=i;
high = n-1;
while(low<high)
{
mid=low+(high-low+1)/2;
if(arr[mid]<=2*arr[i])
low=mid;
else
high=mid-1;
}
ans+=high-i;
}
cout<<ans<<"\n";
}
Thank you for your patience reading. If you enjoyed this post, I’d be very grateful if you’d help it spread by emailing it to a friend, or sharing it on Whatsapp or Facebook.
😇Happy Learning!!
