Честный поединок
Задача по программированию с проверкой онлайн
- Сложность
- Сложная
- Языки
- 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 · условие переведено и дополнено
Решить онлайнБесплатно и без регистрации: пишете код в браузере и проверяете его тестами (без аккаунта — несколько задач в день).