Advertisement
saira12tabassum19

Untitled

Dec 28th, 2019
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.01 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int binary_searc(int x,int n,long long int v[])
  4. {
  5. int left,right,mid;
  6. left=0;
  7. right=n-1;
  8. while(left<=right)
  9. {
  10. mid=(left+right)/2;
  11. if(v[mid]<=x&&v[mid+1]>=x)return mid;
  12. if(v[mid]<x&&v[mid+1]<x){left=mid+1;}
  13. else if(v[mid]>x&&v[mid+1]>x){
  14. right=mid-1;
  15. }
  16. }
  17.  
  18.  
  19. }
  20. int main()
  21. {
  22. int n,q,m;
  23. cin>>n;
  24. long long int a[50001];
  25. for(int i=0;i<n;i++)
  26. {
  27. cin>>a[i];
  28.  
  29. }
  30. cin>>q;
  31. for(int j=0;j<q;j++)
  32. {
  33. cin>>m;
  34. int r;
  35. if(n==1){if(m==a[0])cout<<"0"<<' '<<"X"<<endl;}
  36. else if(m==a[0])cout<<"X"<<' '<<a[0+1]<<endl;
  37. else if(m==a[n-1])cout<<a[n-2]<<' '<<"X"<<endl;
  38. else if(m<a[0])cout<<"X"<<' '<<a[0]<<endl;
  39. else if(m>a[n-1])cout<<a[n-1]<<' '<<"X"<<endl;
  40. else
  41. {
  42. r=binary_searc(m,n,a);
  43. if(a[r]==m)
  44. {cout<<a[r-1]<<' '<<a[r+1]<<endl;}
  45. else
  46. cout<<a[r]<<' '<<a[r+1]<<endl;}
  47.  
  48.  
  49. }
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement