fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main() {
  5. const int MAX_SIZE = 50000;
  6. const int MAX_LENGHT = 10000;
  7. int n, v[MAX_SIZE + 1];
  8. cin >> n;
  9. for (int i = 1; i <= n; ++i) {
  10. cin >> v[i];
  11. }
  12. int i = 1, found = 1;
  13. while (i <= n && v[i] < v[i + 1]) {
  14. ++found;
  15. ++i;
  16. }
  17. int k, w[MAX_LENGHT + 1];
  18. cin >> k;
  19. for (int j = 1; j <= k; ++j) {
  20. cin >> w[j];
  21. int x = -1, left, right, middle;
  22. if (w[j] >= v[1]) {
  23. left = 1, right = found + 1;
  24. } else if (w[j] < v[1]) {
  25. left = found + 1, right = n + 1;
  26. }
  27. while (left < right) {
  28. middle = (left + right) / 2;
  29. if (v[middle] < w[j]) {
  30. left = middle + 1;
  31. } else {
  32. right = middle;
  33. }
  34. if (v[middle] == w[j]) {
  35. x = w[j];
  36. }
  37. }
  38. if (x != -1) {
  39. cout << x << " " << "se gaseste in sir" << "\n";
  40. } else {
  41. cout << w[j] << " " << "nu se gaseste in sir" << "\n";
  42. }
  43. }
  44. return 0;
  45. }
  46.  
Success #stdin #stdout 0.01s 5280KB
stdin
12
13 15 15 16 18 19 1 1 11 12 12 12
6
15 12 19 1 5 7
stdout
15 se gaseste in sir
12 se gaseste in sir
19 nu se gaseste in sir
1 se gaseste in sir
5 nu se gaseste in sir
7 nu se gaseste in sir