L'exo est en effet classique (plus longue sous-suite croissante) qui s'implémente via un algo de programmation
dynamique, cf. par exemple ce très bon site ICI (plus précisément le
fichier dp_3.swf). L'algo est en n\^2 et les contraintes de Prologin étant rudes, je ne pense pas que cet algo passera.
Je suis tombé sur une solution en Python de David
Eppstein qui résout le problème mais pas
exactement comme on veut sur Prologin où on doit éliminer en priorité les notes les plus faibles (l'algo d'Eppstein au
contraire renvoie avec les notes les plus faibles). En bricolant, tu peux adapter le code d'Eppstein et il passera alors
9 tests/10 (problème de dépassement de mémoire pour le dernier). La complexité serait de n*log(n). Probablement que
l'équivalent en C/C++ passera tous les tests.
En fait l'algo d'Eppstein me semble être une adaptation du "Patience Sorting".