fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int v[50001], w[10001];
  5.  
  6. int main() {
  7. int n, k, n_min = 50000, n_max = -50000;
  8. cin >> n;
  9. for (int i = 1; i <= n; ++i) {
  10. cin >> v[i];
  11. }
  12. cin >> k;
  13. for (int j = 1; j <= k; ++j) {
  14. cin >> w[j];
  15. }
  16. for (int i = 1; i <= n; ++i) {
  17. if (v[i] < n_min) {
  18. n_min = i;
  19. }
  20. if (v[i] > n_max) {
  21. n_max = i;
  22. }
  23. }
  24. for (int j = 1; j <= k; ++j) {
  25. if (w[j] >= v[1]) {
  26. int stanga = 1, dreapta = n_max;
  27. while (stanga < dreapta) {
  28. int m = (stanga + dreapta) / 2;
  29. if (v[m] < w[j]) {
  30. stanga = m + 1;
  31. } else {
  32. dreapta = m;
  33. }
  34. }
  35. if (v[stanga] == w[j]) {
  36. cout << w[j] << "- se gaseste in sir\n";
  37. }else {
  38. cout << w[j] << "- nu se gaseste in sir\n";
  39. }
  40. }
  41. else if (w[j] < v[1]) {
  42. int stanga = n_max + 1, dreapta = n;
  43. while (stanga < dreapta) {
  44. int m = (stanga + dreapta) / 2;
  45. if (v[m] < w[j]) {
  46. stanga = m + 1;
  47. } else {
  48. dreapta = m;
  49. }
  50. }
  51. if (v[stanga] == w[j]) {
  52. cout << w[j] << "- se gaseste in sir\n";
  53. }else {
  54. cout << w[j] << "- nu se gaseste in sir\n";
  55. }
  56. }
  57. }
  58. return 0;
  59. }
  60.  
Success #stdin #stdout 0.01s 5436KB
stdin
16
12 13 15 17 19 20 56 68 70 84 150 2 4 6 10 11
6
1 2 6 11 13 7
stdout
1- nu se gaseste in sir
2- se gaseste in sir
6- se gaseste in sir
11- se gaseste in sir
13- se gaseste in sir
7- nu se gaseste in sir