Перейти к содержимому

## Условие

misc · generalAvito / Авито (алгоритмы)не решено
В жизни каждого приходит время, когда надо отправиться в отпуск.
Но мы смотрим на календарь и понимаем, что впереди куча встреч, которые не хочется пропускать.
Необходимо определить день X начала отпуска длиной в V дней так, чтобы отгулять весь отпуск в ближайшие P дней и пропустить минимум Y встреч.
Считаем, что уже завтра первый возможный день отпуска (day: 1)
Пример 1:
Ввод:
daysWithMeetings = [
{day: 3, meetings: 1},
{day: 4, meetings: 3},
{day: 14, meetings: 3},
{day: 21, meetings: 3},
{day: 28, meetings: 1}
] # дни со встречами уже упорядочены
periodLength = 30 # В какой срок надо отгулять ВЕСЬ отпуск. В данном примере в ближайшие 30 дней
vacationLength = 7
Вывод:
[5, 0] # [день X начала отпуска, сколько встреч Y пропустим]
Пример 2:
Ввод:
daysWithMeetings = [
{day: 3, meetings: 1},
{day: 4, meetings: 3},
{day: 5, meetings: 3},
{day: 9, meetings: 5},
{day: 13, meetings: 2},
{day: 14, meetings: 1},
{day: 21, meetings: 3},
{day: 25, meetings: 3},
{day: 28, meetings: 6}
]
periodLength = 31
vacationLength = 14
Вывод:
[10, 6] # [через сколько дней начало отпуска, сколько встреч пропустим]

Источник: Avito / Авито (алгоритмы)

← ## Условие · Все задачи · Разное · ## Условие →