Ctrl K

Наибольший MEX после сдвигов

Средняя
Дан массив целых чисел values и положительное число step. За одну операцию можно выбрать любой элемент и прибавить к нему step или вычесть из него step. Операций можно сделать сколько угодно, в том числе ни одной. **MEX** массива — наименьшее неотрицательное целое число, которого в массиве нет. Например, MEX массива [3, 0, -2] равен 1, а массива [1, 2] — 0. Верните наибольший MEX, которого можно добиться такими операциями.
Пример 1
values=[8, -3, 6, 1, 3], step=4 → 4

8 → 0, -3 → 1, 6 → 2, 3 → 3. Чтобы получить 4, нужен элемент с остатком 0 по модулю 4, а единственный такой (8) уже занят нулём. Ответ 4.

Пример 2
values=[2, 2, 2], step=1 → 3

С шагом 1 любой элемент превращается в любое число: делаем 0, 1, 2 и получаем 3.

Пример 3
values=[5, 10], step=5 → 1
Ограничения
  • 1 ≤ len(values) ≤ 10⁵
  • -10⁹ ≤ values[i] ≤ 10⁹
  • 1 ≤ step ≤ 10⁵
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСколько гостей на конференции СредняяВертикальная ось симметрии СредняяТройки равноудалённых точек СредняяОтрезок с суммой, кратной делителю СредняяЗадания с перерывом на остывание Средняя
загружаем Python…
Вход
values=[8, -3, 6, 1, 3], step=4
Ожидается
4

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 117 тестов на сервере, включая скрытые.