Advertisement
Kali_prasad

3 element sum equals k

Apr 3rd, 2022
41
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.86 KB | None | 0 0
  1. int Solution::threeSumClosest(vector<int> &A, int B) {
  2.     long long i=0;
  3.     long long a;
  4.     long long b=INT_MIN;
  5.     sort(A.begin(),A.end());
  6.     for(int i=0;i<A.size()-2;i++)
  7.     {
  8.         a=A[i];
  9.         long long  temp=B-a;
  10.        
  11.         long long left=i+1,right=A.size()-1,ans=INT_MIN;
  12.         while(left<right)
  13.         {
  14.            
  15.             long long sum=A[left]+A[right];
  16.             ans=(temp-ans<temp-sum)?ans:sum;
  17.             if(sum<temp)
  18.             {
  19.                
  20.                left++;
  21.             }
  22.             else if(sum>temp)
  23.             {
  24.                 right--;
  25.             }
  26.             else
  27.             {
  28.                 break;
  29.             }
  30.            yr
  31.         }
  32.         a+=ans;
  33.        
  34.  
  35.         if(abs(B-a)<abs(B-b))
  36.         b=a;
  37.         //cout<<i<<b<<endl;
  38.  
  39.     }
  40.     //cout<<b;
  41.     return b;
  42. }
  43.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement