- Описание
- Отправленные решения
54. Самый лучший день
Владелец некоторого маркетплейса хочет знать самый лучший день каждого месяца — это день, в течение которого пользователи, впервые пришедшие на сайт, совершили покупки на наибольшую сумму.
Проанализируйте данные о действиях пользователей, представленные в файле log.tsv
, и найдите самый лучший день для каждого полноценного месяца использования сайта.
Месяц будем считать полноценным, если одновременно выполнены следующие условия:
- рассматриваемый месяц не является первым месяцем, за который в файле представлены данные;
- рассматриваемый месяц не является последним месяцем, за который в файле представлены данные;
- в течение рассматриваемого месяца на сайте была совершена хотя бы одна покупка пользователем, впервые пришедшим на сайт.
Если в месяце окажется несколько дней, в течение которых пользователи, впервые пришедшие на сайт, совершили покупки на максимальную сумму, выведите самый ранний из них.
Формат ввода
Вашему решению доступен файл log.tsv
в формате TSV с заголовком, содержащий данные о действиях, совершенных пользователями на сайте. Строки данных имеют следующий формат:
userid
— идентификатор пользователя;timestamp
— дата и время события в формате ISO;action
— действие, совершенное пользователем, может принимать одно из значений:mainpage
— вход на главную страницу сайта;search
— поиск товаров в каталоге;product
— открытие страницы с карточкой продукта;category
— открытие страницы с карточкой категории;cart
— страница добавления товара в корзину;checkout
— оформление заказа;confirmation
— подтверждение заказа;
value
— стоимость добавляемого товара (для событияcart
), либо сумма заказа (для событийcheckout
иconfirmation
) в рублях и копейках, вещественное число с точностью до двух знаков после запятой;testids
— идентификаторы тестовых выборок, в которых находится пользователь.
Все поля за исключением поля testids
гарантированно заполнены для каждой записи лога. Значение поля testids
может быть пустым.
Формат вывода
Каждая выводимая строка должна содержать самый лучший день месяца в формате ГГГГ-ММ-ДД
и искомую величину в рублях (целое число), разделённые одним пробелом. Выводимые строки должны быть упорядочены по возрастанию месяцев.
Примечание
Моментом совершения покупки будем считать момент наступления события подтверждения заказа.
Ограничения
Ограничение времени
5 с
Ограничение памяти
512 МБ
Пример 1
userid timestamp action value testids
user_1 2022-08-12T12:14:00 product 0 13534;23345;23463;25662
user_2 2022-09-11T17:08:00 confirmation 12250.0 13534;23346;23464;25661
user_1 2022-09-14T23:07:00 confirmation 32440.0 13534;23345;23463;25662
user_3 2022-09-15T09:28:00 confirmation 10000.0
user_2 2022-10-07T13:17:00 confirmation 1750.0 13534;23346;23464;25661
user_1 2022-10-12T16:23:00 cart 12370.0 13534;23345;23463;25662
user_4 2022-10-15T14:38:00 confirmation 25000.0 13533;23346;25662
user_5 2022-10-15T07:49:00 confirmation 10000.0 13534;23345;25662
user_6 2022-10-21T15:37:00 confirmation 35000.0 23345;23463;25662;34647
user_2 2022-12-03T14:45:00 search 0 13534;23346;23464;25661
user_7 2022-12-14T18:53:00 confirmation 12370.0 23463;25662;36468
2022-09-11 12250
2022-10-15 35000