2 votes

Résoudre les problèmes de Codechef en Java

Je suis un programmeur Java. Je trouve que souvent, même si mon algorithme est correct, je reçois un Time Limit Exceeded sur mes soumissions avec Codechef. Existe-t-il des techniques à employer pour soumettre des solutions en Java dans les concours de programmation ?

6voto

Anup Kalbalia Points 81

Sur CodeChef, toutes les soumissions en Java ont une limite de temps 2x supérieure à celle de leur homologue en langue maternelle (par exemple, c/c++/pascal). Cependant, une chose qui n'est pas mentionnée est que le juge commence à se comporter très lentement lorsque la consommation de mémoire est élevée, ce qui arrive assez souvent avec les solutions Java. Le juge CodeChef fonctionne avec un paramètre de mémoire de 64 MB pour tous les programmes Java. Vous devriez essayer d'utiliser le moins de mémoire possible et essayer d'exécuter la même solution localement avec -Xms = 64 MB.

L'augmentation de la limite de temps peut également être causée par le fait que lorsque l'utilisation de la mémoire du programme s'approche du maximum autorisé (qui est de 64 Mo dans ce cas), la JVM invoque le ramasseur d'ordures qui utilise le CPU de manière très intensive et retarde ainsi l'exécution du programme.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X