values и два числа min_gap и min_diff. Найдите индексы i ≤ j (нумерация с нуля, i может совпадать с j), такие что:
- j - i ≥ min_gap — индексы далеко друг от друга;
- |values[i] - values[j]| ≥ min_diff — значения сильно различаются.
Верните [i, j]. Если подходящих пар несколько, ответ выбирается однозначно:
1. j должно быть как можно меньше;
2. для этого j в качестве i сначала пробуется самое **маленькое** значение среди values[0..j - min_gap] (если оно встречается несколько раз — самая левая позиция);
3. если эта пара не подходит, берётся самое **большое** значение среди них (тоже самая левая позиция).
Если подходящей пары нет, верните [-1, -1].values=[6, 2, 9, 1], min_gap=2, min_diff=5 → [0, 3]
Для j = 2 подходит только i = 0, но |9 - 6| = 3 < 5. Для j = 3 можно взять i = 0 или 1; самое маленькое из values[0..1] — 2 на позиции 1, а 1 - 2 = -1 < 5; самое большое — 6 на позиции 0, и 6 - 1 = 5 ≥ 5. Ответ [0, 3].
values=[4, 7], min_gap=0, min_diff=0 → [0, 0]
При нулевых требованиях подходит уже j = 0 в паре с самим собой.
values=[3, 5, 4], min_gap=1, min_diff=3 → [-1, -1]
Значения отличаются не больше чем на 2, подходящей пары нет.
values=[6, 2, 9, 1], min_gap=2, min_diff=5
[0, 3]
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 95 тестов на сервере, включая скрытые.