AutoCode: LLMs as Problem Setters for Competitive Programming
Shang Zhou, Zihan Zheng, Kaiyuan Liu, Zeyu Shen, Zerui Cheng, Zexing Chen, Hansen He, Jianzhu Yao, Huanzhi Mao, Qiuyang Mang, Tianfu Fu, Beichen Li, Dongruixuan Li, Wenhao Chai, Zhuang Liu, Aleksandra Korolova, Peter Henderson, Natasha Jaques, Pramod Viswanath, Saining Xie, Jingbo Shang
TL;DR
The paper tackles the challenge of automatically generating rigorous competitive-programming problems and test data. It presents AutoCode, a closed-loop system that combines a Validator-Generator-Checker framework with an Interactor and a dual-verification protocol to produce and certify both problem statements and their test inputs. Empirical results on large benchmarks show AutoCode achieving high agreement with official judgments and substantially reducing false positives/negatives compared with prior baselines, while also enabling generation of novel, contest-grade problems vetted by experts. The work also provides insights into the strengths and limitations of LLM-driven problem authoring, highlighting reliance on human judgment for quality assessment and outlining directions for scalable self-improvement and more novel problem design.
Abstract
Writing competitive programming problems is exacting. Authors must: set constraints, input distributions, and edge cases that rule out shortcuts; target specific algorithms (e.g., max-flow, dynamic programming, data structures); and calibrate complexity beyond the reach of most competitors. We argue that this makes for an ideal test of general large language model capabilities and study whether they can do this reliably. We introduce AutoCode, which uses multiple rounds of validation to yield competition-grade problem statements and test cases. On held-out problems, AutoCode test suites approach 99% consistency with official judgments, a significant improvement over current state-of-the-art methods like HardTests, which achieve less than 81%. Furthermore, starting with a random seed problem, AutoCode can create novel variants with reference and brute-force solutions. By cross-verifying these generated solutions against test cases, we can further filter out malformed problems. Our system ensures high correctness, as verified by human experts. AutoCode successfully produces novel problems judged by Grandmaster-level (top 0.3%) competitive programmers to be of contest quality.
