fork(3) 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 15240KB
stdin
100
2 3 4 6 7 8 8 8 9 11 11 14 18 18 21 23 24 24 24 25 26 30 30 30 30 31 32 32 33 33 35 36 37 40 40 40 40 42 42 43 44 44 44 45 45 45 47 47 49 50 53 53 53 54 55 56 56 56 57 57 58 58 60 62 62 63 63 63 64 66 67 70 71 71 72 73 76 77 80 80 81 82 83 83 84 85 87 90 91 91 91 92 93 94 94 97 98 98 99 99
100
85 78 34 89 85 48 27 5 75 70 75 90 3 65 74 91 82 47 75 27 26 73 88 26 22 37 67 67 20 48 67 4 77 52 93 13 99 71 17 26 92 92 15 95 8 40 37 89 86 63 15 64 35 3 41 56 91 60 23 10 59 41 66 35 93 10 99 91 80 68 16 24 11 82 70 18 21 58 7 59 20 21 22 54 75 14 62 18 73 36 79 31 76 96 17 20 5 16 63 37
stdout
84 87
77 80
33 35
87 90
84 87
47 49
26 30
4 6
73 76
67 71
73 76
87 91
2 4
64 66
73 76
91 91
81 83
47 49
73 76
26 30
25 30
72 76
87 90
25 30
21 23
36 40
66 70
66 70
18 21
47 49
66 70
3 6
76 80
50 53
92 94
11 14
99 X
70 71
14 18
25 30
91 93
91 93
14 18
94 97
8 8
40 42
36 40
87 90
85 87
63 64
14 18
63 66
33 36
2 4
40 42
55 56
91 91
58 62
21 24
9 11
58 60
40 42
64 67
33 36
92 94
9 11
99 X
91 91
77 80
67 70
14 18
24 25
9 11
81 83
67 71
14 18
18 23
58 60
6 8
58 60
18 21
18 23
21 23
53 55
73 76
11 18
62 63
14 18
72 76
35 37
77 80
30 32
73 77
94 97
14 18
18 21
4 6
14 18
63 64
36 40