fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. int main() {
  4. int n,m,x;
  5. cin >> n;
  6. int arr[n];
  7. for(int i=0;i<n;i++) {
  8. cin >> arr[i];
  9. }
  10. cin >> m;
  11. while(m--) {
  12. cin >> x;
  13. if(x<=arr[0]) {
  14. if(x==arr[0]) {
  15. cout << "X " << arr[1] << endl;
  16. } else {
  17. cout << "X " << arr[0] << endl;
  18. }
  19. } else if(x>=arr[n-1]) {
  20. if(x==arr[n-1]) {
  21. cout << arr[n-2] << " X" << endl;
  22. } else {
  23. cout << arr[n-1] << " X" << endl;
  24. }
  25. } else {
  26. int start = 0, end = n-1,mid = (start+end)/2;
  27. while(end>start) {
  28. mid = (start+end)/2;
  29. if(start==mid) {
  30. cout << arr[mid] << " " << arr[mid+1] << endl;
  31. break;
  32. }
  33. if(x>arr[mid]) start = mid;
  34. else if(x<arr[mid]) end = mid;
  35. else {
  36. cout << arr[mid-1] << " " << arr[mid+1] << endl;
  37. break;
  38. }
  39. }
  40. }
  41. }
  42. }
  43.  
Success #stdin #stdout 0s 16056KB
stdin
4
1 4 5 7
8
1 2 3 4 5 6 7 8
stdout
X 4
1 4
1 4
1 5
4 7
5 7
5 X
7 X