Честный поединок

Задача по программированию с проверкой онлайн

Сложность
Сложная
Языки
Python
JavaScript
TypeScript
Java
Go
Темы
Массивы и списки
Поиск и сортировка
Стек, очередь, связные списки

Даны два списка одинаковой длины n (1 ≤ n ≤ 1500) неотрицательных целых c и d и число k ≥ 0: c[i] и d[i] — мастерство двух фехтовальщиков с мечом типа i. Судья выбирает отрезок индексов [l, r] (l ≤ r), и каждый фехтовальщик берёт тот доступный меч, которым владеет лучше всего; его сила в бою — это max(c[l..r]) для первого и max(d[l..r]) для второго. Бой честный, если |max(c[l..r]) − max(d[l..r])| ≤ k.

Верните количество отрезков [l, r], на которых бой честный.

Пример: [1, 2, 3, 4, 5], [5, 5, 5, 5, 10], k = 2 → 7.


Источник: Coding Competitions Archive, codejam/2019/round_1b/fair_fight · © Google LLC · Apache-2.0 · условие переведено и дополнено

Решить онлайнБесплатно и без регистрации: пишете код в браузере и проверяете его тестами (без аккаунта — несколько задач в день).

Ещё задачи

Все задачи для тренировки