Наибольшая просадка заявок провайдера
Условие
Провайдер ежедневно фиксирует число заявок в службу поддержки. В отдельные дни данные могут отсутствовать: в таком случае вместо числа записан символ -.
Для каждого дня с известным числом заявок x_i определяется кумулятивный максимум M_i: это наибольшее известное число заявок среди дней с номерами от 1 до i включительно. Пропущенные значения не участвуют в вычислении максимума.
Относительной просадкой в день i называется величина d_i = 100 * (M_i - x_i) / M_i процентов. Она вычисляется только для дней с известным x_i и положительным M_i. Требуется найти наибольшую относительную просадку за весь период.
При равенстве нескольких кумулятивных максимумов считается, что максимум был достигнут в более ранний день. При равенстве нескольких наибольших просадок выбирается более ранний день, хотя в ответ выводится только значение просадки.
Формат ввода
В первой строке дано целое число n — количество дней наблюдений.
В следующих n строках записаны два значения: номер дня day_i и число заявок requests_i. Значение requests_i равно целому неотрицательному числу или символу -, если данные за этот день отсутствуют.
Формат вывода
Выведите наибольшую относительную просадку в процентах с двумя знаками после точки.
Ограничения
1 <= n <= 4000.
1 <= day_i <= 4000, номера дней во входе строго возрастают.
Если значение requests_i не равно -, то 0 <= requests_i <= 1000000.
Хотя бы в одной строке указано положительное число заявок. Длина каждого номера дня не превышает 4 символов, длина значения заявок не превышает 7 символов.
Решить задачу с автопроверкой на Python →
Куда дальше
- Python на олимпиадах — где языка хватает с запасом, а где начинают значить лимиты — с замерами
- БВИ по олимпиадам: в какие вузы берут — правила приёма вузов, разобранные построчно, со ссылкой на приказ у каждой строки
- Перечневые олимпиады: что это и что дают — весь перечень Минобрнауки: уровни, срок диплома, разрезы по предметам и классам