Наибольшая просадка числа заявок
Условие
В файле data.csv приведена дневная статистика заявок в службу поддержки интернет-провайдера. Для каждого района и дня указано число открытых заявок.
Требуется рассмотреть записи заданного района в указанном диапазоне дат включительно, упорядоченные по дате. Строки с пустым значением числа заявок не учитываются. Пусть x_i — число заявок в очередной учитываемой записи, а M_i = max(x_1, x_2, ..., x_i) — кумулятивный максимум к этому моменту.
Просадкой в записи i называется величина d_i = 100 * (M_i - x_i) / M_i. Требуется найти наибольшую просадку D = max(d_i) в процентах. Если в диапазоне остаётся только одна запись с числом заявок, просадка равна 0.00.
При равенстве нескольких кумулятивных максимумов используется одно и то же значение максимума, поэтому выбор конкретной строки при равенстве не влияет на ответ.
Формат ввода
В первой строке дано название района area. Во второй строке дана начальная дата диапазона date_from в формате YYYY-MM-DD. В третьей строке дана конечная дата диапазона date_to в формате YYYY-MM-DD.
Рядом с программой находится файл data.csv в кодировке UTF-8. Разделитель полей — запятая, первая строка содержит заголовок:
date,area,opened_tickets
Поле date содержит дату в формате YYYY-MM-DD. Поле area содержит название района. Поле opened_tickets содержит целое неотрицательное число заявок либо пустую строку, если статистика за этот день не поступила.
Формат вывода
Выведите наибольшую просадку в процентах с двумя знаками после точки.
Ограничения
В файле содержится от 300 до 4000 строк данных, не считая заголовка.
area имеет длину от 3 до 20 символов и совпадает с названием района из файла.
Даты запроса принадлежат промежутку от 2025-01-01 до 2025-12-10, причём date_from <= date_to.
Длина названия района в файле составляет от 3 до 20 символов.
Значение opened_tickets, если оно не пропущено, является целым числом от 0 до 10000.
В заданном диапазоне для указанного района гарантируется хотя бы одна строка с непустым значением opened_tickets.
Округление выполняется выводом ровно двух знаков после точки.
Решить задачу с автопроверкой на Python →
Куда дальше
- Python на олимпиадах — где языка хватает с запасом, а где начинают значить лимиты — с замерами
- БВИ и льготы при поступлении — какой диплом что даёт и сколько лет он действует
- Перечневые олимпиады по информатике — олимпиады перечня Минобрнауки, их уровни и что нужно к диплому