Выручка по тарифам в киоске
Условие
В файле data.csv записаны сведения о тарифах и продажах в сети киосков с мороженым. Каждая строка относится либо к тарифу, либо к операции продажи.
Тариф действует на полуинтервале времени [minute_start, minute_end): начальная минута входит в интервал, конечная не входит. Для операции выбирается действующий тариф того же киоска.
Для каждой подходящей операции вычисляется стоимость scoops × tariff_cents / 100 рублей. Требуется найти сумму стоимостей всех подходящих операций указанного киоска.
Если время операции покрывают несколько тарифов, выбирается тариф с наибольшим minute_start. При равенстве minute_start выбирается тариф, строка которого расположена в файле позже.
Операция с пустым значением scoops, а также тариф с пустым значением tariff_cents не учитываются. Если для операции нет действующего тарифа, она не добавляется к сумме. Если у указанного киоска нет подходящих операций, сумма равна 0.00.
Формат ввода
В файле data.csv в кодировке UTF-8 используется разделитель-запятая. Первая строка содержит заголовок:
row_type,kiosk_id,minute_start,minute_end,operation_minute,scoops,tariff_cents
В файле от 300 до 4000 строк данных. Поле row_type равно tariff для строки тарифа или sale для строки продажи. Для тарифа заполнены поля kiosk_id, minute_start, minute_end, tariff_cents; остальные поля могут быть пустыми. Для продажи заполнены поля kiosk_id, operation_minute; поле scoops может быть пустым.
В stdin дана одна строка с идентификатором киоска kiosk_id, для которого требуется вычислить сумму.
Формат вывода
Выведите сумму в рублях ровно с двумя знаками после десятичной точки.
Ограничения
- Количество строк данных в файле: от 300 до 4000.
kiosk_idсостоит из латинских букв верхнего регистра и цифр, длина от 1 до 8.minute_startиoperation_minute— целые числа от 0 до 1439.minute_end— целое число от 1 до 1440.- Для каждого тарифа выполнено
minute_start < minute_end. scoops— целое число от 1 до 20 либо пустое значение.tariff_cents— целое число от 20 до 120 либо пустое значение.- Сумма в ответе не превышает 1000000.00 рублей.
Решить задачу с автопроверкой на Python →
Куда дальше
- Python на олимпиадах — где языка хватает с запасом, а где начинают значить лимиты — с замерами
- БВИ по олимпиадам: в какие вузы берут — правила приёма вузов, разобранные построчно, со ссылкой на приказ у каждой строки
- Перечневые олимпиады: что это и что дают — весь перечень Минобрнауки: уровни, срок диплома, разрезы по предметам и классам