Длинный рост показаний температуры

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

Условие

В теплице датчик температуры передаёт показания через равные промежутки времени. Строки входных данных уже расположены в хронологическом порядке.

Показание NA означает пропуск: в этот момент датчик не передал значение. Пропуск разрывает участок, так как сравнить температуру до и после него нельзя.

Требуется найти длину самого длинного непрерывного участка строк, на котором все показания известны и температура не убывает. Для участка с номерами строк от l до r это означает: значения в строках l, l+1, ..., r не равны NA и для каждого i от l до r-1 выполнено temp[i] <= temp[i+1]. Искомая величина равна max(r - l + 1) по всем таким участкам. Если все показания равны NA, ответ равен 0.

Вывести нужно только длину участка. Если максимальную длину имеют несколько участков, выбирать между ними не требуется, поскольку выводится только их общая длина. Ответ является целым числом, округление не применяется.

Формат ввода

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

В следующих n строках дано показание температуры: целое число или строка NA.

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

Выведите одно целое число — длину самого длинного участка неубывающих известных показаний.

Ограничения

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

Куда дальше