readings. Инженер хочет найти тройки замеров, которые хорошо согласуются друг с другом.
Тройка индексов i < j < k считается согласованной, если одновременно:
- |readings[i] - readings[j]| ≤ limit_ij;
- |readings[j] - readings[k]| ≤ limit_jk;
- |readings[i] - readings[k]| ≤ limit_ik.
Верните количество согласованных троек. Тройки с разными наборами индексов считаются разными, даже если значения в них совпадают.readings=[5, 2, 4, 9, 3], limit_ij=3, limit_jk=2, limit_ik=2 → 4
Подходят тройки индексов (0, 1, 2) — значения 5, 2, 4, (0, 1, 4) — 5, 2, 3, (0, 2, 4) — 5, 4, 3 и (1, 2, 4) — 2, 4, 3. Любая тройка с 9 нарушает хотя бы одно ограничение.
readings=[7, 7, 7, 7], limit_ij=0, limit_jk=0, limit_ik=0 → 4
Все показания равны, поэтому подходит каждая из C(4, 3) = 4 троек.
readings=[1, 10, 20], limit_ij=5, limit_jk=5, limit_ik=50 → 0
Единственная тройка не подходит: 1 и 10 отличаются на 9, а это больше limit_ij.
readings.length ≤ 100readings[i] ≤ 1000limit_ij, limit_jk, limit_ik ≤ 1000readings=[5, 2, 4, 9, 3], limit_ij=3, limit_jk=2, limit_ik=2
4
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 103 теста на сервере, включая скрытые.