CPRet: A Dataset, Benchmark, and Model for Retrieval in Competitive Programming
Han Deng, Yuan Meng, Shixiang Tang, Wanli Ouyang, Xinzhu Ma
TL;DR
This work addresses the problem of duplicate and highly similar problems in competitive programming benchmarks by introducing CPRet-PCPCD, a retrieval-focused benchmark with four tasks (two code-centric, two problem-centric) and temporally separated test sets. It develops two task-specialized retrievers, CPRetriever-Code and CPRetriever-Prob, employing Group-InfoNCE to align problems with multiple correct solutions and to tailor retrieval for problem-level similarity, respectively. Empirical results show strong performance of the code-focused model on code tasks and the problem-focused model on problem tasks, while also revealing that high problem similarity inflates pass rates and reduces model differentiation, underscoring the need for similarity-aware evaluation. The work provides practical retrieval tools and insights for fair benchmarking, with implications for retrieval-augmented generation and contest integrity in CP ecosystems.
Abstract
Competitive programming benchmarks are widely used in scenarios such as programming contests and large language model assessments. However, the growing presence of duplicate or highly similar problems raises concerns not only about competition fairness, but also about the validity of competitive programming as a benchmark for model evaluation. In this paper, we propose a new problem, similar question retrieval, to tackle this issue. Due to the lack of both data and models, solving this problem is challenging. To this end, we introduce CPRet, a retrieval-oriented benchmark suite for competitive programming, covering four retrieval tasks: two code-centric (i.e., Text-to-Code, Code-to-Code) and two newly proposed problem-centric tasks (i.e., Problem-to-Duplicate, Simplified-to-Full) built from a combination of automatically crawled problem-solution data and manually curated annotations. Our contribution includes both high-quality training data and temporally separated test sets for reliable evaluation. Besides, we further develop two task-specialized retrievers based on this dataset: CPRetriever-Code, trained with a novel Group-InfoNCE loss for problem-code alignment, and CPRetriever-Prob, fine-tuned for identifying problem-level similarity. Both models achieve strong results and are open-sourced for local use. Finally, we analyze LiveCodeBench and find that high-similarity problems inflate model pass rates and reduce differentiation, underscoring the need for similarity-aware evaluation in future benchmarks. Github: https://github.com/coldchair/CPRet Online Demo: https://www.cpret.online/
