Если вы собираетесь делать это много, вы можете повысить производительность, отслеживая максимумы / минимумы в разных масштабах.
Например, если вы ведете список для каждых 20 строк и хотите проверить диапазон 55–184, вам нужно будет проверить только 5 значений (55–59), затем 6 значений из 60–179, затем 4 значения от 180 до 184, то есть 15 проверок, а не 130, увеличение скорости в 20 раз.
Конечно, вам нужно помечать ваши сегменты как измененные при изменении массива и периодически обновлять их.