Awesome Open Source
Awesome Open Source

Warning: This repo also contains untested, incomplete and incorrect programs. I do not claim any responsibility for any any harm that these programs may cause to your computer. Use at your own discretion.

What is Competitive Programming?

Competitive Programming is a mindsport where participants try to program solutions to various mathematical and algorithmic problems while adhering to run-time and system memory constraints.

What is this repository?

This repostiory contains my solutions to thousands of programming challenges from multiple online judges. The purpose of this repo is to serve as a backup of all my solutions, and at the same time serve as a resource for fellow competitive programmers who are searching the internet for clues or solutions to problems that they are stuck on.

I should mention that none of these solutions are written with respect to best Software Engineering practices. The programs are written the way they are so that solutions to problems in competitions can be submitted as fast as possible. In some cases the solutions have small comments describing what the code is doing.

This repostiory also features some good implementations for advanced data structures and algorithms like - persistent segment trees, implict treaps, heavy light decomposition, centroid decomposition, suffix automaton etc.


Codeforces is one of the most active competitive programming communities on the internet. Each sub-directory in the Codeforces directory is named after a Codeforces round. The solution for each problem in the round is featured in its own folder, named after the problem code, usually a single uppercase alphabet.


The Hackerrank directory contains solutions for problems on Hackerrank - another competitive progrmming website. Most of the solutions are from past competitions.


IPC - Solutions for the Indian Programming Community (IPC) programming contest series LONG - Solutions for CodeChef long challenges LTIME - Solutions for CodeChef lunch time challenges SHORT - Solutions for CodeChef CookOffs. SNACKDOWN - Solutions for CodeChef SnackDown challenges OTHER - Other contests Random - Random Problems


One of the oldest online judge. Solutions to most of the problems I solved can be found in the Random directory


Not as active on HackerEarth, but some of my favorite problems are on this website. In particular I am proud of problem C from Tesco Codeathon 2016 and the problem "Upgrade" from July Clash 2015.


This directory contains template implementations of some advanced datastructures and algorithms that are useful for programming competitions.


Google's flagship annual programming competition, also one of the most popular with the highest amount of participation.


Timus Online Judge is the largest Russian archive of programming problems with automatic judging system. Problems are mostly collected from contests held at the Ural Federal University, Ural Championships, Ural ACM ICPC Subregional Contests, and Petrozavodsk Training Camps

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
python (55,543
c-plus-plus (18,997
cpp (1,375
template (546
algorithm (522
data-structures (399
competitive-programming (108
datastructures (74
hackerrank (45
codeforces (33
solutions (33
codechef (17
icpc (17