Заданы два массива чисел a и b. Для каждого элемента второго массива b j нужно найти количество элементов в массиве a, которые меньше либо равны b j.
Входные данные
В первой строке находятся два целых числа n, m (1 ≤ n, m ≤ 2·10^5) — размеры массивов a и b.
Во второй строке находятся n целых чисел — элементы массива a ( - 10^9 ≤ a_i ≤ 10^9).
В третьей строке находятся m целых чисел — элементы массива b ( - 10^9 ≤ b_j ≤ 10^9).
Выходные данные
Выведите m чисел, разделенных пробелами: j-е из них равно количеству таких элементов массива a, которые меньше или равны числа b j.
#include <bits/stdc++.h>
using namespace std;
int main() {
int n, m;
cin >> n >> m;
int a[n];
for(int i=0; i < n; i++) {
cin >> a[i];
}
sort(a, a + n);
for(int i=0; i < m; i++){
int x;
cin >> x;
int f = (lower_bound ( a + 0, a + n, x)-a);
int j = (upper_bound ( a + 0, a + n, x)-a);
if(a[j] > x) cout << j << " ";
else cout << f + 1 << " ";
}
return 0;
}
Не могу понять где у меня ошибка в коде.Выходить что есть ошибка в тесте 4