Максимальный скачок оценок приложения

тема: Временные ряды и окна · уровень: базовый

Условие

Сервис хранит отзывы о мобильных приложениях в порядке их публикации. Для каждого отзыва записаны идентификатор приложения и оценка удовлетворённости от 0 до 100. Иногда оценка не определена и обозначается строкой NA.

Аналитик выбирает одно приложение и рассматривает только его отзывы. Записи с оценкой NA пропускаются. Оставшиеся оценки этого приложения идут в том же порядке, что и во входных данных.

Для двух соседних оставшихся оценок a_i и a_{i+1} скачком называется величина |a_{i+1} - a_i|. Требуется вывести максимальный по модулю скачок для приложения из запроса, то есть max |a_{i+1} - a_i| по всем соседним оставшимся оценкам. Если после пропуска NA осталось меньше двух оценок, максимальный скачок считается равным 0.

Если наибольший скачок достигается у нескольких пар оценок, выводится их общее значение.

Формат ввода

В первой строке дано целое число n — количество записей об отзывах.

В следующих n строках даны два значения: идентификатор приложения app_id и оценка score. Оценка равна целому числу от 0 до 100 или строке NA.

В последней строке дан идентификатор приложения query_app — запрос аналитика.

Формат вывода

Выведите одно целое число — максимальный по модулю скачок оценок для приложения query_app.

Дробная часть отсутствует, выводится целое число без округления.

Ограничения

1 ≤ n ≤ 1000.

Длина каждого идентификатора приложения составляет от 1 до 20 символов. Идентификатор состоит из строчных латинских букв, цифр и символа _.

Каждая числовая оценка находится в диапазоне от 0 до 100 включительно.

Идентификатор в запросе имеет длину от 1 до 20 символов и удовлетворяет тем же правилам записи, что и app_id.

Решить задачу с автопроверкой на Python →

Куда дальше