Вы можете использовать структуру данных кучи. Куча не обязательно будет упорядочена, но это достаточно быстрый способ хранения полуупорядоченных данных, и она имеет преимущество в том, что самый маленький элемент всегда является первым элементом в куче.
В куче есть две основные операции, которые помогут вам: Добавить и Заменить.
По сути, вы делаете то, что добавляете, пока не получите 100 единиц (ваш самый большой номер N по вашему вопросу). Затем после этого вы заменяете первый элемент каждым новым, если он больше первого.
Всякий раз, когда вы заменяете первый элемент чем-то большим, внутренний код в куче будет корректировать содержимое кучи так, что если новый элемент не самый маленький, он будет пузыриться в куче, а самый маленький элемент будет "пузыриться вниз "до первого элемента, готового к замене по пути.