Нещодавно я підсумовував віки себе і своєї дружини та дітей і зрозумів, що в певний момент у не надто віддаленому майбутньому наші віки складатимуться рівно до 100 років.
Виклик
Для введення даних, що складається з комбінованого (загального) віку та списку дат народження, виведіть дату, на яку всі комбіновані віки становлять усі ці дані.
- Комбінований вік (у роках) буде цілим додатним числом
- Вхідним списком дат народження буде список (будь-який формат зручний для вашої мови) дат, які повинні містити числове зображення дня, місяця та року. Кількість днів з моменту конкретної епохи неприйнятна. Ви можете припустити, що список дат введення відсортований у хронологічному порядку.
- Виведенням буде одна дата в тому ж форматі, що і дати введення
- Для цілей комбінованого віку 1 рік вважається рівно 365,25 дня
- Для деяких даних неможливо знайти дату після всіх дат народження, коли всі вони дорівнюють комбінованому віку. Наприклад, розглянемо дві дати народження, які мають 20 років, але ми хочемо, щоб це було 10 років. У цьому випадку результатом буде 10-й день народження старшої дати народження. Іншими словами, вікові категорії вважаються 0 на всі дати до дати народження цієї особи
- Результатом буде перша дата, коли комбіновані віки становлять щонайменше віковий рівень
- Ви можете використовувати вбудовані функції дати та часу
- Ви повинні підтримувати дати, починаючи з 1970/01/01.
Приклади
Тут я даю всі дати у форматі РРР / ММ / DD, але ви можете будь-якого формату, який вам подобається.
Input Output
10 2000/01/01 2010/01/01
100 1975/03/05,1978/07/23,2008/11/12,2012/12/20 2018/11/22
100 1975/03/06,1978/07/23,2008/11/12,2012/12/20 2018/11/23
100 1975/03/09,1978/07/23,2008/11/12,2012/12/20 2018/11/23
100 1975/03/10,1978/07/23,2008/11/12,2012/12/20 2018/11/24
3 1990/08/01,1995/07/02 1993/08/01
50 1975/03/05,1978/07/23,2008/11/12,2012/12/20 2001/11/13
Зауважте, що в останніх двох прикладах дата виведення лежить в межах дат введення, як правило 5.