Кухня с наибольшей суммой заказов
Условие
Служба доставки хранит сведения о ресторанах в файле data.csv, а сведения о заказах — в файле orders.csv. Каждый заказ связан с рестораном по идентификатору ресторана.
Для каждого типа кухни среди подходящих выполненных заказов вычисляют сумму стоимостей заказов и среднюю стоимость заказа. Сумма для кухни равна сумме amount всех подходящих заказов этой кухни. Средняя стоимость равна sum_amount / count_orders, где count_orders — число подходящих заказов этой кухни.
Подходящим считается заказ со статусом completed, стоимость которого не меньше указанного в stdin порога. Требуется вывести название кухни с наибольшей суммой стоимостей подходящих заказов. Типы кухонь без подходящих заказов не рассматриваются.
Если наибольшая сумма достигается у нескольких типов кухонь, выводится лексикографически меньшее название кухни.
Округление не применяется, так как в ответе выводится название кухни.
Формат ввода
Файл data.csv находится рядом с программой, имеет кодировку UTF-8 и разделитель запятая. Первая строка файла — заголовок.
Файл data.csv содержит от 300 до 1000 строк с ресторанами и следующие столбцы:
restaurant_id— целочисленный идентификатор ресторана;restaurant_name— название ресторана;cuisine— тип кухни;rating— рейтинг ресторана.
Файл orders.csv находится рядом с программой, имеет кодировку UTF-8 и разделитель запятая. Первая строка файла — заголовок.
Файл orders.csv содержит от 300 до 1000 строк с заказами и следующие столбцы:
order_id— целочисленный идентификатор заказа;restaurant_id— идентификатор ресторана из файлаdata.csv;amount— целая стоимость заказа в рублях;status— статус заказа:completedилиcancelled.
В stdin находится одно целое число p — минимальная стоимость подходящего заказа.
Формат вывода
Выведите одно название кухни с наибольшей суммой стоимостей подходящих заказов.
Ограничения
- В файле
data.csvот 300 до 1000 строк данных. - В файле
orders.csvот 300 до 1000 строк данных. 1 <= restaurant_id <= 1000000.1 <= order_id <= 10000000.- Длина
restaurant_nameсоставляет от 3 до 40 символов. cuisine— одно из названий длиной от 3 до 20 символов.1.0 <= rating <= 5.0.100 <= amount <= 3000.statusимеет одно из двух значений:completed,cancelled.0 <= p <= 3000.- Каждый
restaurant_idиз файлаorders.csvсуществует в файлеdata.csv. - Для каждого допустимого значения
pсуществует хотя бы один подходящий выполненный заказ.
Решить задачу с автопроверкой на Python →
Куда дальше
- С нуля до олимпиады: маршрут — сколько занимает язык, какие приёмы нужны и к какому этапу это ведёт
- Перечневые олимпиады: что это и что дают — весь перечень Минобрнауки: уровни, срок диплома, разрезы по предметам и классам
- Олимпиада по информатике: с чего начать — два мира олимпиад — ВсОШ и перечневые: этапы, задания и на каком языке писать