Benchmark · coding
Codeforces (Elo)
Codeforces (Elo) mesure la capacité d'un modèle en programmation compétitive en lui faisant résoudre des problèmes de concours chronométrés, exprimée sous forme d'un classement Elo de Codeforces (environ 0–4000, où à peu près 2000+ est un bon niveau).
En savoir plus
- Exemple
- Un élément typique est un problème algorithmique chronométré — par exemple, lire l'entrée d'un problème et afficher la bonne réponse dans des limites strictes de temps et de mémoire, en utilisant des techniques comme le parcours de graphes, la programmation dynamique ou les algorithmes gloutons.
- Notation
- Le résultat est un unique nombre Elo calculé à partir du nombre de problèmes de concours résolus par le modèle et de leur difficulté, placé sur la même échelle de classement que Codeforces utilise pour les compétiteurs humains.
- Vérification
- Chaque solution soumise est évaluée automatiquement : le code est compilé et exécuté sur un ensemble caché de cas de test, et n'est comptée comme résolue que si elle produit la bonne sortie dans les limites de temps et de mémoire.
- Pourquoi c'est important
- Il reflète un raisonnement algorithmique en plusieurs étapes et la capacité à écrire un code correct et efficace sous contraintes, et projette les compétences de programmation d'un modèle sur une échelle de classement que les gens comprennent déjà.
Exemple résolu
« Codeforces (Elo) » donne au modèle des problèmes de programmation compétitive et exprime sa force sous forme d'un classement Elo sur la même échelle que celle des humains sur le site. Un item facile représentatif (Div. 2 A, ~800) : « On vous donne t cas de test ; chacun fournit n et un tableau a_1…a_n. En une opération, vous choisissez i≠j et faites a_i−=1, a_j+=1. Affichez YES si vous pouvez rendre tous les éléments égaux, sinon NO. » Pour l'entrée `2 / 3 / 1 2 3 / 2 / 1 2`, la sortie attendue est `YES` puis `NO`. L'astuce est que l'opération conserve la somme totale S=Σa_i, donc des éléments égaux (chacun S/n) sont atteignables si et seulement si n divise S : [1,2,3] a une somme S=6 divisible par 3 → YES, tandis que [1,2] a une somme S=3 non divisible par 2 → NO. Une solution correcte lit stdin, imprime ces réponses et doit passer tous les tests cachés dans la limite de temps ; l'Elo du modèle est déduit de la difficulté des problèmes qu'il résout de façon fiable.
Aucun score vérifié pour ce benchmark à ce jour.