Advertisement
Guest User

Untitled

a guest
Mar 23rd, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.91 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. using namespace std;
  5.  
  6. int n, k, f;
  7. vector <int> x;
  8. int bin_search(int szukana);
  9.  
  10. int main()
  11. {
  12. ios_base::sync_with_stdio(NULL);
  13. cin.tie(NULL);
  14.  
  15. cin >> n >> k >> f;
  16. x.resize(n);
  17.  
  18. for (int i = 0; i < n; i++)
  19. {
  20. cin >> x[i];
  21. }
  22.  
  23. for (int i = 0; i < n; i++)
  24. {
  25. int var = (k * x[i]) + f;
  26.  
  27. if (var > x[n - 1]) //jeżeli wykracza z prawej
  28. {
  29. cout << n << " ";
  30. }
  31. else if (var < x[0]) //jeżeli wykracza z lewej
  32. {
  33. cout << 0 << " ";
  34. }
  35. else //jeżeli w zakresie
  36. {
  37. cout << bin_search(var) << " ";
  38. }
  39. }
  40.  
  41. return 0;
  42. }
  43.  
  44. int bin_search(int szukana)
  45. {
  46. int pocz = 0, kon = n;
  47.  
  48. while (pocz != kon)
  49. {
  50. int sr = (pocz + kon) / 2;
  51.  
  52. if (szukana >= x[sr]) //jeżeli szukana wartość jest większa lub równa od WARTOŚCI!!! srodka
  53. {
  54. pocz = sr + 1;
  55. }
  56. else
  57. {
  58. kon = sr;
  59. }
  60. }
  61.  
  62. return pocz - 1;
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement