Ctrl K

Перелёты в тот же час

Средняя
В массиве flights записаны длительности перелётов в часах. Путешественник хочет сделать два разных перелёта подряд (без пересадочного ожидания) и прилететь в то же время суток, в какое вылетел, то есть чтобы их общая длительность была кратна 24 часам. Верните количество пар индексов i < j, для которых flights[i] + flights[j] делится на 24. Массив может быть очень длинным — перебор пар не подойдёт.
Пример 1
flights=[7, 17, 12, 36, 31] → 3

7 + 17 = 24, 12 + 36 = 48 и 17 + 31 = 48 — три пары.

Пример 2
flights=[20, 4, 28, 44] → 4

20 + 4, 20 + 28, 4 + 44 и 28 + 44 делятся на 24.

Пример 3
flights=[1, 2] → 0

3 часа — не целые сутки.

Ограничения
  • 1 ≤ len(flights) ≤ 5·10⁵
  • 1 ≤ flights[i] ≤ 10⁹
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиБольше трети голосов СредняяСамые частые значения СредняяЗадания с перерывом на остывание СредняяСамые частые запросы СредняяСводка заходов по доменам Средняя
загружаем Python…
Вход
flights=[7, 17, 12, 36, 31]
Ожидается
3

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 74 теста на сервере, включая скрытые.