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
Нужно войти, чтобы отправить решение.Войти