Ребят, а можете дать идеи по решению задачи?
У нас есть два массива {a, b} одинаковой длины n и функция diff(a, b) = sum(|a[i]-b[i]|), i = 0, n -1.
Задача состоит в минимизация значения этой функции для заданных a, b, если можно заменить один любой эллемент массива a на другой эллемент этого же массива a.
Моё решение было создать массив tree, который будет содержать уникальные отсортированные эллементы a. Затем на каждом шаге брать idx = lower_bound (begin(tree), end(tre), b[i]) и таким образом выбрать наибольшую разницу, которую можно уменьшить, используя b[i] и соответствующие {tree[idx], tree[idx-1], a[i]}.
В итоге сложность O(n*log(n)). Можно ли как-то быстрее или проще?
Эллементы [-10^4, 10^4], колличество 10^5