diff options
Diffstat (limited to 'codeforces/closestToTheLeft')
| -rwxr-xr-x | codeforces/closestToTheLeft/main | bin | 0 -> 27424 bytes | |||
| -rw-r--r-- | codeforces/closestToTheLeft/main.cpp | 36 | ||||
| -rw-r--r-- | codeforces/closestToTheLeft/main_input0.txt | 3 | ||||
| -rw-r--r-- | codeforces/closestToTheLeft/main_output0.txt | 5 |
4 files changed, 44 insertions, 0 deletions
diff --git a/codeforces/closestToTheLeft/main b/codeforces/closestToTheLeft/main Binary files differnew file mode 100755 index 0000000..2847c76 --- /dev/null +++ b/codeforces/closestToTheLeft/main diff --git a/codeforces/closestToTheLeft/main.cpp b/codeforces/closestToTheLeft/main.cpp new file mode 100644 index 0000000..d058458 --- /dev/null +++ b/codeforces/closestToTheLeft/main.cpp @@ -0,0 +1,36 @@ +#include <bits/stdc++.h> + +using namespace std; + +int bs(vector<int> &a, int toFind) { + int low = -1; + int high = a.size(); + int mid = (high + low) / 2; + while (low + 1 < high) { + if (a[mid] <= toFind) { + low = mid; + } else { + high = mid; + } + mid = (high + low) / 2; + } + return low; +} + +int main() { + ios_base::sync_with_stdio(false); + cin.tie(NULL); + int n, k; + cin >> n >> k; + + vector<int> a(n); + vector<int> q(n); + + for (int &x : a) + cin >> x; + for (int i = 0; i < k; i++) { + int y; + cin >> y; + cout << bs(a, y) + 1 << endl; + } +} diff --git a/codeforces/closestToTheLeft/main_input0.txt b/codeforces/closestToTheLeft/main_input0.txt new file mode 100644 index 0000000..007d6fe --- /dev/null +++ b/codeforces/closestToTheLeft/main_input0.txt @@ -0,0 +1,3 @@ +5 5 +3 3 5 8 9 +2 4 8 1 10 diff --git a/codeforces/closestToTheLeft/main_output0.txt b/codeforces/closestToTheLeft/main_output0.txt new file mode 100644 index 0000000..57cf499 --- /dev/null +++ b/codeforces/closestToTheLeft/main_output0.txt @@ -0,0 +1,5 @@ +1 +3 +4 +1 +6 |
