Доля выручки категории мороженого
Условие
В файле products.csv приведён справочник видов мороженого, которые продаются в киоске. Для каждого вида указана его категория.
В файле sales.csv приведены продажи. Каждая строка продажи ссылается на вид мороженого по идентификатору из файла products.csv.
По заданным категории и дате требуется найти долю выручки этой категории среди выручки всех продаж в указанную дату. Выручка одной продажи равна произведению количества на цену за единицу. Доля выручки вычисляется по формуле 100 * выручка_категории / общая_выручка_за_дату.
Совпадающие строки продаж учитываются по отдельности. При равенстве значений выручек порядок строк файлов не влияет на ответ.
Формат ввода
В первой строке stdin указано название категории мороженого category.
Во второй строке stdin указана дата date в формате ГГГГ-ММ-ДД.
Рядом с программой находятся два CSV-файла в кодировке UTF-8 с разделителем запятая.
Файл products.csv содержит от 300 до 1000 строк данных и заголовок:
product_id,product_name,category
Здесь product_id — целочисленный идентификатор вида мороженого, product_name — его название, category — название категории.
Файл sales.csv содержит от 300 до 1000 строк данных и заголовок:
sale_id,product_id,date,quantity,unit_price
Здесь sale_id — целочисленный идентификатор продажи, product_id ссылается на строку файла products.csv, date — дата продажи, quantity — число проданных порций, unit_price — цена одной порции в рублях.
Формат вывода
Выведите найденную долю выручки в процентах с двумя знаками после точки.
Ограничения
300 <= число строк products.csv <= 1000.
300 <= число строк sales.csv <= 1000.
1 <= product_id <= 1000000, 1 <= sale_id <= 10000000.
Длина product_name — от 1 до 40 символов, длина category — от 1 до 30 символов.
1 <= quantity <= 20, 20 <= unit_price <= 500.
Дата имеет длину 10 символов и формат ГГГГ-ММ-ДД.
Все идентификаторы product_id в файле sales.csv существуют в файле products.csv. Для указанной даты есть хотя бы одна продажа, поэтому общая выручка за дату положительна. Указанная во входе категория присутствует в файле products.csv.
Решить задачу с автопроверкой на Python →
Куда дальше
- С нуля до олимпиады: маршрут — сколько занимает язык, какие приёмы нужны и к какому этапу это ведёт
- Python на олимпиадах — где языка хватает с запасом, а где начинают значить лимиты — с замерами
- Родителям: подготовка бесплатно — сколько стоит репетитор, что даёт бесплатный маршрут и как понять, что ребёнок занимается