ranges описывает их: тройка ranges[i] = [l, r, c] означает, что в каждом доме с номером от l до r включительно лежит по c монет. Отрезки из ranges не пересекаются; в домах, не попавших ни в один отрезок, монет нет.
Нужно выбрать length домов, стоящих подряд, и забрать все монеты из них. Верните наибольшее число монет, которое можно собрать.ranges=[[2, 4, 3], [7, 8, 5], [12, 12, 9]], length=6 → 19
Лучше всего взять дома с 7-го по 12-й: 5 + 5 в домах 7 и 8, по нулю в домах 9–11 и 9 в доме 12, итого 19. Окно со 2-го по 7-й даёт только 3 · 3 + 5 = 14.
ranges=[[5, 9, 2]], length=10 → 10
Окно из 10 домов целиком накрывает дома 5–9, в каждом по 2 монеты: 5 · 2 = 10.
ranges=[[1, 3, 4], [4, 6, 1]], length=3 → 12
Дома 1–3 дают 4 + 4 + 4 = 12, любое окно правее захватывает дома с одной монетой и выходит меньше.
ranges.length ≤ 10⁵ranges[i] = [l, r, c], 1 ≤ l ≤ r ≤ 10⁹, 1 ≤ c ≤ 1000l, r] попарно не пересекаютсяlength ≤ 10⁹ranges=[[2, 4, 3], [7, 8, 5], [12, 12, 9]], length=6
19
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 115 тестов на сервере, включая скрытые.