Skip to content

Repository files navigation

Competitive Programming Archive

Codeforces Solutions Archive License: MIT

A reproducible archive of 2,283 unique Codeforces problems, selected as the first accepted submission for each problem.

This repository documents my competitive-programming journey from 2022 through 2025. It is generated from authoritative Codeforces submission metadata, retains source code exactly as submitted, and reconstructs one Git commit per unique solved problem using the original timestamp.

At a glance

Metric Value
Unique problems solved 2,283
First solve 326175B · 27 Jan 2022
Last solve 2039A · 31 Dec 2025
Highest-rated solve 2000 · 380C — Sereja and Brackets
Active solving days 1,008
Languages used 8

Statistics

Rating distribution
Rating Solutions
800 656
900 221
1000 171
1100 144
1200 321
1300 247
1400 183
1500 80
1600 51
1700 9
1800 3
1900 5
2000 2
Unrated 190
Language distribution
Language Solutions
C++ 2004
Java 259
C 11
PHP 5
JavaScript 1
Python 1
Mysterious 1
Pike 1

Repository layout

.
├── codeforces/          # Exact accepted sources under <rating>/
├── data/                # Machine-readable archive manifest
├── docs/                # Architecture and operating documentation
├── logs/                # Runtime logs (ignored except for .gitkeep)
├── scripts/             # Stable command wrappers
├── src/cp_archive/      # Typed archive/import/history implementation
└── tests/               # Unit and integration-oriented tests

Each source filename follows <contest><index>_<sanitized_problem_name>.<extension>. The manifest links every file to its submission, timestamp, language, rating, and SHA-256 digest.

Automation

The importer pages through the Codeforces API with retry and rate limiting, resolves historical handles, filters the configured date range, selects the chronologically first accepted submission per stable problem key, infers the correct extension, and resumes from a local cache after interruption. README statistics and the JSON manifest are regenerated deterministically.

Historical commits are constructed with Git plumbing in a temporary index. Every unique problem produces one commit named Solve CF <id><index> - <name>; both author and committer dates use that solution's original accepted timestamp.

See Usage, Architecture, and Data integrity for operational details.

License

Automation code and repository documentation are available under the MIT License. Individual problem statements belong to their respective platforms. Submitted solution source is retained here as the author's work.

Releases

Packages

Contributors

Languages