Par une chaude journée d’été, Farmer John sert de la citronnade à ses $N$ vaches ! Toutes, numérotées $1 \dots N$, aiment cela, mais à des degrés différents. La vache $i$ accepte d’attendre derrière au plus $w_i$ vaches. Elles sont aux champs, mais accourront au stand dès qu’il sonnera sa cloche. Toutes arriveront avant le début du service, et jamais deux simultanément. La vache $i$ rejoint la file si et seulement si elle compte déjà au plus $w_i$ vaches.
Il souhaite préparer la citronnade à l’avance sans gaspillage. Le nombre dans la file dépend de l’ordre d’arrivée. Trouvez le minimum possible de vaches qui la rejoignent.
Entrée
La première ligne contient $N$, la deuxième $N$ entiers $w_1, w_2, \dots, w_N$ séparés par des espaces. On garantit $1 \leq N \leq 10^5$ et $0 \leq w_i \leq 10^9$ pour chaque vache $i$.
Sortie
Affichez le minimum possible sur tous les ordres d’arrivée.
Exemples
Entrée 1
5
7 1 400 2 2
Sortie 1
3
Remarque
Le minimum est ici $3$. Les vaches de $w=7$ et $w=400$ arrivent en premier et attendent. Celle de $w=1$ repart car $2$ sont déjà dans la file. Les deux de $w=2$ arrivent ensuite : l’une reste, l’autre repart.
Auteur du problème : Dhruv Rohatgi