Research
Post-Training Language Models for Gold-Medal Performance in Coding Competitions
Overview Research area: Post-training (supervised fine-tuning and reinforcement learning) and inference-time compute scaling for large language models applied to competitive programming. Technical lev

- arXiv
- 2609.02849
- Published
- 2026-09-02
- Authors
- Aleksander Ficek, Sean Narenthiran, Mehrzad Samadi, Somshubra Majumdar, Boris Ginsburg
AI summary
Overview
Research area: Post-training (supervised fine-tuning and reinforcement learning) and inference-time compute scaling for large language models applied to competitive programming.
Technical level: Advanced. The paper assumes familiarity with mixture-of-experts architectures, supervised fine-tuning, Group Relative Policy Optimization, quantization, and test-time sampling and selection.
Scope: One sentence: the paper reports an end-to-end pipeline — problem curation, synthetic reasoning traces, SFT, RL, and an iterative test-time strategy called GenCorrect — that takes Nemotron-3-Nano-CC (30B-A3B) and Nemotron-3-Ultra-CC (550B-A55B) from below-medal to gold-medal-level scores on IOI 2025, ICPC 2025, and LiveCodeBench Pro, and culminates in a live IOI 2026 run scoring 535.4/600 (arXiv:2609.02849v2 [cs.LG], 04 Sep 2026, CC BY 4.0).
What This Paper Is About
Competitive programming is one of the hardest tests of a language model's reasoning, because models must invent algorithms, handle complex constraints, and pass hidden tests under strict time and memory limits. Existing systems that reach medal level are often closed, rely on specialized models, or entangle several changes at once, which makes it hard to tell which components actually matter. This paper builds an open, end-to-end pipeline and isolates the contribution of data curation, synthetic data, SFT, RL, model scale, and test-time compute — then uses what it learns to build a competition-specific system that is run live during IOI 2026.
Key Contributions
- An end-to-end specialization pipeline for competitive programming covering large-scale problem curation, synthetic reasoning data, long-context supervised fine-tuning, and reinforcement learning with executable rewards.
- GenCorrect, a closed-loop test-time compute strategy that iteratively generates diverse solutions, incorporates evaluator feedback, and refines subsequent generations within a constrained submission budget.
- A comprehensive empirical analysis of how synthetic data, SFT, RL, model scale, and test-time compute each contribute to competitive-programming performance.
- A competition-specific system evaluated live during IOI 2026 that scored 535.4/600 under the same time limits, submission platform, and internet restrictions as human contestants, surpassing the highest-scoring human contestant — stated by the authors as the first time an AI system has outscored the top human on any IOI problem set.
Main Findings
- SFT supplies most of the gain. For Nano-CC, three SFT epochs raise IOI 2025 Score@1 from 21.7% to 46.7%, ICPC 2025 Pass@1 from 16.9% to 47.3%, and LiveCodeBench Pro Pass@1 from 17.6% to 70.7% — gains of 24.8, 29.8, and 53.1 percentage points respectively. Most of the improvement arrives in the first epoch.
- A little SFT on a big model beats a lot of post-training on a small one. Ultra-CC receives a single SFT epoch over 477,642 examples and improves IOI from 45.5% to 50.7%, ICPC from 54.0% to 57.4%, and LCB Pro from 72.6% to 74.5% — yet it still outperforms the final Nano-CC model on all three benchmarks, despite Nano-CC getting three SFT epochs of 1.2M samples each plus RL.
- RL adds a modest, consistent increment. Applied only to Nano-CC and starting from the third-epoch SFT checkpoint, RL (step 39, chosen on held-out validation) moves IOI 2025 Score@1 from 46.7% to 48.5%, ICPC 2025 Pass@1 from 47.3% to 51.0%, and LCB Pro Pass@1 from 70.7% to 71.6%. The authors attribute the modest size to strong SFT initialization, binary-reward GRPO providing signal only when a rollout group mixes successes and failures, and long-horizon credit assignment over rollouts of up to 255K tokens.
- RL cannot substitute for SFT. From the base Nano checkpoint, RL improves IOI 2025 Score@1 from 21.7% to 24.9% after 30 steps; initialized from SFT epochs one, two, and three, models reach 43.0%, 47.1%, and 48.7% after 30 steps.
- GenCorrect drives large test-time gains. Nano-CC's mean IOI 2025 score rises from 360.6 after round one to 468.2 after five rounds (+107.6 points) and exceeds the gold threshold of 438.3 after four rounds. Ultra-CC rises from 343.9 to 502.0 (+158.1 points) and exceeds the threshold after three rounds, finishing 33.8 points ahead of Nano-CC.
- Larger models use test-time compute better. At Score@1, Ultra-CC beats Nano-CC by only 2.2 percentage points (roughly 13 raw IOI points), but at Score@200 it reaches 505 versus 461 — a 44-point gap — which GenCorrect then magnifies.
- Binary feedback limits refinement. On ICPC 2025, Nano-CC's mean problems solved rises from 8.6 to 9.4, reaching nine solved (matching the fourth-place gold-medal team) after two rounds and plateauing after the third. Ultra-CC starts at 9.0, reaches 9.6 after two rounds, and holds that through round five. Both plateau faster than on IOI, which the authors attribute to ICPC's binary feedback carrying less information than IOI's subtask-level scores.
- Progression on IOI 2025. Nano-CC goes from 130 points base to 280 after SFT and 291 after RL at Score@1, then to 468 with GenCorrect, above the gold threshold of 438.3 under the official 50-submission limit. The general Ultra-CC reaches 304 (50.7%) without code-specific RL and 502.0 after five GenCorrect rounds.
- Baseline comparison at Score@1 (IOI 2025 / ICPC 2025 / LCB Pro): Nemotron-3-Nano-30B-A3B 21.7%/16.9%/17.6%; Nemotron-Cascade-2-30B-A3B 37.2%/42.0%/45.6%; gpt-oss-120b 40.7%/45.8%/66.4%; Qwen3.6-35B-A3B 40.8%/32.0%/58.4%; Nemotron-3-Ultra-550B-A55B 45.5%/54.0%/72.6%; DeepSeek-V4-Flash 55.3%/65.8%/69.5%; DeepSeek-V4-Pro 56.8%/69.6%/78.2%; GLM-5.2 66.0%/65.7%/83.8%; Nemotron-3-Nano-CC 48.5%/51.0%/71.6%; Nemotron-3-Ultra-CC 50.7%/57.4%/74.5%. Nano-CC at Score@1 trails only DeepSeek-V4-Flash, DeepSeek-V4-Pro, and GLM-5.2.
- Teacher choice matters for the live run. GLM-5.2 scores 66.0% on IOI 2025 with a mean generation length of 85,927 tokens versus DeepSeek-V4-Flash's 55.3% at 120,456 tokens, and this transfers after SFT: Ultra-CC trained on GLM-5.2 data reaches 59.4% at 84,244 tokens, versus 50.7% at 89,626 tokens for DeepSeek-V4-Flash data.
- Quantization buys throughput at a known cost. Across evaluated NVFP4 configurations, IOI 2025 Score@1 stays within 52.7%–53.5%. In a matched comparison with BF16 KV cache and prefix caching enabled, moving MTP from off to 5 nearly doubles throughput from 345.9 to 698.5 tokens/s/GPU while reducing Score@1 by 0.6 percentage points, from 53.5% to 52.9%. The live configuration (NVFP4, FP8 KV cache, prefix caching disabled, MTP 5) gives 52.8% Score@1 at 736.8 tokens/s/GPU — 6.6 percentage points below the 59.4% BF16 baseline (199.1 tokens/s/GPU) for a 3.7x throughput increase.
- IOI 2026 live result. The competition-specific system scored 535.4/600 in a single prospective run, exceeding the gold threshold of 361.12 by 174.3 points and the top human contestant (498.27) by 37.1 points. Independent post-competition runs of the standard five-round GenCorrect pipeline averaged 521.72 (range 495.0–545.8 across 5 runs), so the live result is 13.68 points above that mean.
- Caveat on the live run. The authors state the system was not an official IOI contestant, the run was not supervised by IOI, and its score was not included in official rankings; it is reported as an unofficial, unsupervised benchmark.
Methodology in Plain English
Problem curation first. The team assembled 22,000 problems from 16 regional and international competition families spanning two decades, plus online programming platforms. An automated pipeline packages each problem with its statement, constraints, test cases, auxiliary files, and reference solutions into a runnable evaluation environment. Environments are kept only if reference and generated solutions produce consistent verdicts; broken, non-compiling, or inconsistent problems are removed. For the RL corpus, problems whose evaluation consistently takes more than 300 seconds sequentially are also removed. All IOI 2025, ICPC 2025, and LiveCodeBench Pro problems are excluded from training and the remaining corpus is deduplicated against them.
Teaching the model with synthetic traces. DeepSeek-V4-Flash generates 1.2 million reasoning traces for Nemotron-3-Nano-30B-A3B and 477,642 traces for Nemotron-3-Ultra-550B-A55B. More generations go to harder problems, and the mixture includes self-improvement traces where the teacher revises a previously generated solution — deliberately exposing the student to the refine-a-prior-attempt behavior that GenCorrect uses at inference. Nano trains for three epochs and Ultra for one, with global batch size 64 and sequence packing up to 262K tokens.
Reinforcement learning with executable rewards. RL is applied only to Nano, over 3,219 problems split into 2,847 training and 372 validation problems at the parent-problem level, using NeMo RL with GRPO. Each step samples 16 rollouts for each of 64 prompts at temperature 1.0, giving 1,024 rollouts; generated C++17 solutions are compiled and executed and receive a terminal reward of 1 for full credit and 0 otherwise. The objective is a token-level clipped policy gradient with no reference-policy KL penalty, and the final checkpoint (step 39) is picked on held-out validation.
GenCorrect at inference. Each round generates up to 200 candidate solutions in parallel, filters out ones that do not compile or look structurally broken, then clusters them by token-shingle similarity using a farthest-from-centers rule, selecting up to K=10 clusters. The representative of each cluster is chosen by a score-blind heuristic that never sees competition scores. The 10 representatives are submitted, and the feedback (subtask scores on IOI) is accumulated into a per-subtask best-so-far vector that conditions the next round, along with three references chosen to preserve solved subtasks, target gaps, and keep diversity. Five rounds of 10 submissions match IOI's 50-submission-per-problem cap.
Competition-specific tuning for IOI 2026. Using IOI 2025 as a development benchmark, the team fine-tuned Ultra with GLM-5.2 data (chosen partly because shorter generations let more candidates fit in a fixed inference window), expanded the final GenCorrect round to 1,000 generated solutions with an execution-based selection procedure inspired by GenCluster (50 generated test-input generators and validators, filtered to 100 valid test inputs, candidates executed on them, and a model-written scoring script ranking the top 10), and applied NVFP4 quantization to raise throughput.
Why This Matters
Impact on research. The paper separates the contributions of data curation, synthetic traces, SFT, RL, model scale, and test-time compute within a single pipeline. Two of its claims are especially consequential for the field: that a well-built SFT stage on a stronger base model can beat extensive post-training of a smaller one, and that a 550B model trained with SFT alone and no code-specific RL can outperform a 30B model that also received RL. Both push back on the assumption that RL is the main lever for this domain. The prospective, live IOI 2026 evaluation also provides a template for contamination-free benchmarking, since the system ran before the problems were public.
Real-world applications:
- Competitive-programming assistants and practice platforms that need to score well under real submission limits rather than on static benchmarks.
- Automated code-generation tooling for algorithmic or performance-critical work, where the ability to iterate against execution feedback mirrors debugging in practice.
- Closed-loop systems that use compiler or test-suite feedback to repair their own output — the GenCorrect loop is a general pattern for any setting with an automatic verifier.
- Efficient large-model deployment: the NVFP4 quantization results give a concrete throughput-versus-accuracy trade-off for serving very large models under a wall-clock budget.
Industry relevance. The work is done at a scale (up to 760 NVIDIA GB300 GPUs at peak for the live deployment, 128 GB300-288GB GPUs for Ultra SFT) that reflects frontier training and serving practice. The released artifacts — the competition Ultra-CC checkpoint and runnable inference and evaluation recipes in NeMo-Skills — make the recipe reproducible, though the paper notes the full training corpus cannot be released because of third-party redistribution restrictions. The quantization study is directly useful for anyone serving large models under latency or cost constraints.
Future Directions
- Applying RL at the Ultra scale. Compute constraints prevented RL training of Ultra-CC, so whether executable-reward RL adds gains on top of SFT at 550B parameters is left untested. Given that Ultra-CC already used test-time compute more effectively than Nano-CC, this is a natural next experiment.
- Broader ablations across scales and stages. The authors state that compute constraints prevented exhaustive ablations across model scales and training stages, leaving the interplay between size, SFT data volume, and RL budget unresolved.
- Improving refinement under binary feedback. GenCorrect plateaus faster on ICPC 2025 than on IOI 2025 because binary feedback carries less information than subtask-level scores; better ways to extract signal from binary verdicts is an open problem.
- Testing generalization beyond competitive programming. The authors explicitly caution that their findings may not generalize beyond this domain, and that the live IOI result is a system-level comparison under matched time and submission limits rather than an equal-resource comparison with human contestants.
Target Audience
This paper is most useful to machine-learning researchers and engineers working on post-training, reinforcement learning with verifiable rewards, and inference-time scaling, particularly those interested in code generation and reasoning. It also serves competitive-programming and benchmark-design communities, who will care about the contamination controls and the prospective IOI 2026 evaluation, and infrastructure or serving engineers interested in the quantization and throughput trade-offs reported for a 550B-parameter model. Readers looking for an accessible introduction to LLM training pipelines will find the details dense; the paper suits readers already comfortable with SFT, GRPO, and mixture-of-experts terminology.
Authors’ abstract
Competitive programming has become a key test of large language model reasoning, with international competitions such as IOI and ICPC representing its most challenging settings. We present an end-to-end specialization pipeline combining large-scale problem curation, synthetic reasoning traces, supervised fine-tuning (SFT), and reinforcement learning (RL). Using 22,000 curated problems, we train Nemotron-3-Nano-CC (30B-A3B) with SFT and RL and Nemotron-3-Ultra-CC (550B-A55B) with SFT alone. We further introduce GenCorrect, a feedback-driven test-time compute strategy that iteratively generates, evaluates, and refines diverse solutions. On IOI 2025, Nano-CC improves from 130 points to 291 after post-training and to 468 with GenCorrect, exceeding the gold threshold of 438.3 while Ultra-CC reaches 502. Guided by these results, we develop a competition-specific Ultra-CC system and evaluate it prospectively during IOI 2026. Under the same time, internet-access, and submission constraints as human contestants, it scores 535.4 out of 600, exceeding both the gold threshold of 361.12 and the top human score of 498.27. To our knowledge, this is the first AI system to outscore the highest-scoring human contestant on an IOI problem set.