{"adoption": {"forks": 2620, "observed_at": "2026-08-28T04:11:05.563138+00:00", "stars": 14140}, "canonical_url": "https://ross.abutalabs.com/products/awesome-competitive-programming", "card": {"archived": false, "artifact_type": "learning-resource", "description": ":gem: A curated list of awesome Competitive Programming, Algorithm and Data Structure resources", "domain": ["tutorials", "education", "awesome-lists"], "enriched": true, "function": ["documentation", "developer-tools"], "health_score": 20, "homepage": "http://codeforces.com/blog/entry/23054", "language": null, "license": "CC-BY-4.0", "license_family": "other", "maturity": "maintenance", "member_repos": ["lnishan/awesome-competitive-programming"], "name": "lnishan/awesome-competitive-programming", "platform": ["cross-platform"], "pushed_at": "2024-12-08T09:40:58+00:00", "repo": "lnishan/awesome-competitive-programming", "stars": 14140, "tags": ["awesome-list", "competitive-programming", "data-structures", "algorithms", "codeforces", "icpc", "interview-preparation", "curated-resources"], "topics": ["quora", "learning-materials", "contest", "practice", "reference-materials", "competitive-programming", "awesome-list", "awesome", "list", "algorithm", "programming-contests", "data-structure"], "urls": [], "use_cases": ["find resources to learn competitive programming", "prepare for ICPC or Codeforces contests", "study algorithms and data structures", "find practice problem sites for coding contests", "prepare for technical interview algorithm questions", "find algorithm tutorial blogs and books"], "what_it_is": "A curated awesome list of competitive programming, algorithm, and data structure resources, including tutorials, books, practice sites, tools, and community links. It aggregates over a decade of collected learning materials for contest programmers.", "when_to_avoid": ["you need runnable software or a tool rather than a link list", "you want interactive lessons rather than curated external resources", "you need machine-learning or general software engineering tutorials"], "when_to_choose": ["you want a single curated index of competitive programming learning materials", "you are preparing for programming contests like ICPC, IOI, or Codeforces rounds", "you need structured references for algorithms and data structures"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/awesome-competitive-programming", "repo": "lnishan/awesome-competitive-programming", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:11:05.563138+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:12:47.774983+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d6a0fa44bdc887b40f826a2190d889b54f796a5a8db527cab1c609fb345939a1", "fetched_at": "2026-08-28T04:11:05.563138+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lnishan/awesome-competitive-programming"}, {"content_hash": "2e28a6c6623264ee2605b1df406ab706774ddf67b2ac53cc89e7fc62577cb201", "fetched_at": "2026-08-29T08:07:00.069880+00:00", "kind": "homepage", "missing": false, "url": "http://codeforces.com/blog/entry/23054"}, {"content_hash": "b7a91a3f107ecd2aa9eb904a6a9542a7f634270e658528452b112379bdf0442f", "fetched_at": "2026-08-29T08:07:00.080709+00:00", "kind": "site_page", "missing": false, "url": "https://codeforces.com/blog/entry/156278"}, {"content_hash": "15c942fcdf95a827d661af26434e6e8e6578fa6c77e5a45d2aa8842cc535dd65", "fetched_at": "2026-08-29T08:07:00.083061+00:00", "kind": "site_page", "missing": false, "url": "https://codeforces.com/blog/entry/13529"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:11:05.563138+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:12:47.774983+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d6a0fa44bdc887b40f826a2190d889b54f796a5a8db527cab1c609fb345939a1", "fetched_at": "2026-08-28T04:11:05.563138+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lnishan/awesome-competitive-programming"}, {"content_hash": "2e28a6c6623264ee2605b1df406ab706774ddf67b2ac53cc89e7fc62577cb201", "fetched_at": "2026-08-29T08:07:00.069880+00:00", "kind": "homepage", "missing": false, "url": "http://codeforces.com/blog/entry/23054"}, {"content_hash": "b7a91a3f107ecd2aa9eb904a6a9542a7f634270e658528452b112379bdf0442f", "fetched_at": "2026-08-29T08:07:00.080709+00:00", "kind": "site_page", "missing": false, "url": "https://codeforces.com/blog/entry/156278"}, {"content_hash": "15c942fcdf95a827d661af26434e6e8e6578fa6c77e5a45d2aa8842cc535dd65", "fetched_at": "2026-08-29T08:07:00.083061+00:00", "kind": "site_page", "missing": false, "url": "https://codeforces.com/blog/entry/13529"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:12:47.774983+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d6a0fa44bdc887b40f826a2190d889b54f796a5a8db527cab1c609fb345939a1", "fetched_at": "2026-08-28T04:11:05.563138+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lnishan/awesome-competitive-programming"}, {"content_hash": "2e28a6c6623264ee2605b1df406ab706774ddf67b2ac53cc89e7fc62577cb201", "fetched_at": "2026-08-29T08:07:00.069880+00:00", "kind": "homepage", "missing": false, "url": "http://codeforces.com/blog/entry/23054"}, {"content_hash": "b7a91a3f107ecd2aa9eb904a6a9542a7f634270e658528452b112379bdf0442f", "fetched_at": "2026-08-29T08:07:00.080709+00:00", "kind": "site_page", "missing": false, "url": "https://codeforces.com/blog/entry/156278"}, {"content_hash": "15c942fcdf95a827d661af26434e6e8e6578fa6c77e5a45d2aa8842cc535dd65", "fetched_at": "2026-08-29T08:07:00.083061+00:00", "kind": "site_page", "missing": false, "url": "https://codeforces.com/blog/entry/13529"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:11:05.563138+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:11:05.563138+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:11:05.563138+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:12:47.774983+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d6a0fa44bdc887b40f826a2190d889b54f796a5a8db527cab1c609fb345939a1", "fetched_at": "2026-08-28T04:11:05.563138+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lnishan/awesome-competitive-programming"}, {"content_hash": "2e28a6c6623264ee2605b1df406ab706774ddf67b2ac53cc89e7fc62577cb201", "fetched_at": "2026-08-29T08:07:00.069880+00:00", "kind": "homepage", "missing": false, "url": "http://codeforces.com/blog/entry/23054"}, {"content_hash": "b7a91a3f107ecd2aa9eb904a6a9542a7f634270e658528452b112379bdf0442f", "fetched_at": "2026-08-29T08:07:00.080709+00:00", "kind": "site_page", "missing": false, "url": "https://codeforces.com/blog/entry/156278"}, {"content_hash": "15c942fcdf95a827d661af26434e6e8e6578fa6c77e5a45d2aa8842cc535dd65", "fetched_at": "2026-08-29T08:07:00.083061+00:00", "kind": "site_page", "missing": false, "url": "https://codeforces.com/blog/entry/13529"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:11:05.563138+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:11:05.563138+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:12:47.774983+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d6a0fa44bdc887b40f826a2190d889b54f796a5a8db527cab1c609fb345939a1", "fetched_at": "2026-08-28T04:11:05.563138+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lnishan/awesome-competitive-programming"}, {"content_hash": "2e28a6c6623264ee2605b1df406ab706774ddf67b2ac53cc89e7fc62577cb201", "fetched_at": "2026-08-29T08:07:00.069880+00:00", "kind": "homepage", "missing": false, "url": "http://codeforces.com/blog/entry/23054"}, {"content_hash": "b7a91a3f107ecd2aa9eb904a6a9542a7f634270e658528452b112379bdf0442f", "fetched_at": "2026-08-29T08:07:00.080709+00:00", "kind": "site_page", "missing": false, "url": "https://codeforces.com/blog/entry/156278"}, {"content_hash": "15c942fcdf95a827d661af26434e6e8e6578fa6c77e5a45d2aa8842cc535dd65", "fetched_at": "2026-08-29T08:07:00.083061+00:00", "kind": "site_page", "missing": false, "url": "https://codeforces.com/blog/entry/13529"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:11:05.563138+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:11:05.563138+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:11:05.563138+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:12:47.774983+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d6a0fa44bdc887b40f826a2190d889b54f796a5a8db527cab1c609fb345939a1", "fetched_at": "2026-08-28T04:11:05.563138+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lnishan/awesome-competitive-programming"}, {"content_hash": "2e28a6c6623264ee2605b1df406ab706774ddf67b2ac53cc89e7fc62577cb201", "fetched_at": "2026-08-29T08:07:00.069880+00:00", "kind": "homepage", "missing": false, "url": "http://codeforces.com/blog/entry/23054"}, {"content_hash": "b7a91a3f107ecd2aa9eb904a6a9542a7f634270e658528452b112379bdf0442f", "fetched_at": "2026-08-29T08:07:00.080709+00:00", "kind": "site_page", "missing": false, "url": "https://codeforces.com/blog/entry/156278"}, {"content_hash": "15c942fcdf95a827d661af26434e6e8e6578fa6c77e5a45d2aa8842cc535dd65", "fetched_at": "2026-08-29T08:07:00.083061+00:00", "kind": "site_page", "missing": false, "url": "https://codeforces.com/blog/entry/13529"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:11:05.563138+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:11:05.563138+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:12:47.774983+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d6a0fa44bdc887b40f826a2190d889b54f796a5a8db527cab1c609fb345939a1", "fetched_at": "2026-08-28T04:11:05.563138+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lnishan/awesome-competitive-programming"}, {"content_hash": "2e28a6c6623264ee2605b1df406ab706774ddf67b2ac53cc89e7fc62577cb201", "fetched_at": "2026-08-29T08:07:00.069880+00:00", "kind": "homepage", "missing": false, "url": "http://codeforces.com/blog/entry/23054"}, {"content_hash": "b7a91a3f107ecd2aa9eb904a6a9542a7f634270e658528452b112379bdf0442f", "fetched_at": "2026-08-29T08:07:00.080709+00:00", "kind": "site_page", "missing": false, "url": "https://codeforces.com/blog/entry/156278"}, {"content_hash": "15c942fcdf95a827d661af26434e6e8e6578fa6c77e5a45d2aa8842cc535dd65", "fetched_at": "2026-08-29T08:07:00.083061+00:00", "kind": "site_page", "missing": false, "url": "https://codeforces.com/blog/entry/13529"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:12:47.774983+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d6a0fa44bdc887b40f826a2190d889b54f796a5a8db527cab1c609fb345939a1", "fetched_at": "2026-08-28T04:11:05.563138+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lnishan/awesome-competitive-programming"}, {"content_hash": "2e28a6c6623264ee2605b1df406ab706774ddf67b2ac53cc89e7fc62577cb201", "fetched_at": "2026-08-29T08:07:00.069880+00:00", "kind": "homepage", "missing": false, "url": "http://codeforces.com/blog/entry/23054"}, {"content_hash": "b7a91a3f107ecd2aa9eb904a6a9542a7f634270e658528452b112379bdf0442f", "fetched_at": "2026-08-29T08:07:00.080709+00:00", "kind": "site_page", "missing": false, "url": "https://codeforces.com/blog/entry/156278"}, {"content_hash": "15c942fcdf95a827d661af26434e6e8e6578fa6c77e5a45d2aa8842cc535dd65", "fetched_at": "2026-08-29T08:07:00.083061+00:00", "kind": "site_page", "missing": false, "url": "https://codeforces.com/blog/entry/13529"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:12:47.774983+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d6a0fa44bdc887b40f826a2190d889b54f796a5a8db527cab1c609fb345939a1", "fetched_at": "2026-08-28T04:11:05.563138+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lnishan/awesome-competitive-programming"}, {"content_hash": "2e28a6c6623264ee2605b1df406ab706774ddf67b2ac53cc89e7fc62577cb201", "fetched_at": "2026-08-29T08:07:00.069880+00:00", "kind": "homepage", "missing": false, "url": "http://codeforces.com/blog/entry/23054"}, {"content_hash": "b7a91a3f107ecd2aa9eb904a6a9542a7f634270e658528452b112379bdf0442f", "fetched_at": "2026-08-29T08:07:00.080709+00:00", "kind": "site_page", "missing": false, "url": "https://codeforces.com/blog/entry/156278"}, {"content_hash": "15c942fcdf95a827d661af26434e6e8e6578fa6c77e5a45d2aa8842cc535dd65", "fetched_at": "2026-08-29T08:07:00.083061+00:00", "kind": "site_page", "missing": false, "url": "https://codeforces.com/blog/entry/13529"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:12:47.774983+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d6a0fa44bdc887b40f826a2190d889b54f796a5a8db527cab1c609fb345939a1", "fetched_at": "2026-08-28T04:11:05.563138+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lnishan/awesome-competitive-programming"}, {"content_hash": "2e28a6c6623264ee2605b1df406ab706774ddf67b2ac53cc89e7fc62577cb201", "fetched_at": "2026-08-29T08:07:00.069880+00:00", "kind": "homepage", "missing": false, "url": "http://codeforces.com/blog/entry/23054"}, {"content_hash": "b7a91a3f107ecd2aa9eb904a6a9542a7f634270e658528452b112379bdf0442f", "fetched_at": "2026-08-29T08:07:00.080709+00:00", "kind": "site_page", "missing": false, "url": "https://codeforces.com/blog/entry/156278"}, {"content_hash": "15c942fcdf95a827d661af26434e6e8e6578fa6c77e5a45d2aa8842cc535dd65", "fetched_at": "2026-08-29T08:07:00.083061+00:00", "kind": "site_page", "missing": false, "url": "https://codeforces.com/blog/entry/13529"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3939, "days_push": 633, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}