CPRet: A Dataset, Benchmark, and Model for Retrieval in Competitive Programming