Si celui en C fonctionne, c'est parce que c'est très difficile de discriminer entre un algorithme en O(n) (qui est
attendu) et un algorithme en O(n log n). Dans un monde idéal, qsort ne devrait pas passer. Je suis donc content que
Python soit bloqué ici, même si c'est pour une mauvaise raison (mémoire et non temps) :-)
Pour les temps d'exécution, il y a déjà un énorme facteur multiplicatif autorisé entre le C et Python (x 30 si je me
souviens bien). Le problème de Python ici est que ses opérations sur les conteneurs masquent parfois une grande
complexité derrière un appel simple... Cela fait assez longtemps qu'on voudrait essayer d'utiliser Psyco pour contourner
ça. Je ne sais pas où ça en est. Honnêtement, on aurait du mal à autoriser plus de x 30 sans donner des avantages à
Python dans d'autres exercices....
Pour la mémoire, on autorise 6 mégas supplémentaires. Pendant les demi-finales de l'an dernier, nous n'avions pas eu de
problème avec 5 mégas en plus. Maintenant si vous avez des algorithmes dont vous pensez qu'ils sont optimaux (y compris
au niveau de l'utilisation mémoire, en utilisant les structures de Python à bon escient) et qui passent en C et non en
Python, on peut toujours augmenter cette valeur, ou éventuellement mettre un facteur multiplicatif (si les structures de
bases prennent plus de mémoire pour chaque élément qu'en C). Je ne connais pas assez le Python pour me prononcer sur le
sujet, si vous trouvez des références nous permettant de mieux ajuster ceci, je suis preneur :-)