This repository contains solutions to problems from the CSES Problem Set, implemented in C++. The CSES Problem Set is a collection of competitive programming practice problems that cover various algorithmic topics.
π Participating in Hacktoberfest 2025! We welcome quality contributions from the community. Check out our Contributing Guidelines to get started.
Kunal Sharma
IIT Jammu
We encourage contributions from the competitive programming community! Whether you're a beginner or an expert, there are many ways to contribute:
- π Report bugs or suggest improvements
- π‘ Add new problem solutions
- π Improve documentation
- π― Optimize existing solutions
- β¨ Add explanatory comments to complex algorithms
New to open source? Look for issues labeled good first issue
to get started!
π Read our Contributing Guide for detailed instructions on how to contribute.
This project follows the Contributor Covenant Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to the maintainers.
The solutions are organized by problem categories:
βββ 1_introductory_problems/ # Basic algorithmic problems
βββ 2_sorting_searching/ # Sorting and searching algorithms
βββ 3_dp/ # Dynamic programming problems
βββ 7_mathematics/ # Mathematical problems
βββ .builds/ # Build configurations
βββ .vscode/ # VS Code settings
- Two Sets - Partitioning numbers into two equal sum sets
- Gray Code - Generating Gray code sequences
- Apple Division - Minimizing difference in apple weight distribution
- Chessboard and Queens - N-Queens problem variant
- Coin Piles - Mathematical puzzle with coin removal rules
- Bit Strings - Counting binary strings
- Apartments - Matching applicants to apartments
- Movie Festival - Activity selection problem
- Collecting Numbers - Array manipulation problems
- Minimum Coin Sum - Finding smallest unrepresentable sum
- Minimizing Coins - Classic coin change problem
- Counting Rooms
- Labyrinth - Finding path from A to B
- Exponentiation 2 - Fast exponentiation with modular arithmetic
- Sum of Divisors - Mathematical series calculation
- Creating Strings - Combinatorics with factorial calculations
- Next Prime - Finding next prime
-
Christmas Party - Finding derangement of
$n$ elements
- Language: C++
- Compiler: Standard C++ compiler
- Libraries: STL (Standard Template Library)
// Standard template used across solutions
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define mod 1000000007
// Fast I/O optimization
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
- Fast Exponentiation: Binary exponentiation for efficient power calculation
- Modular Arithmetic: Using MOD = 1000000007 for large number calculations
- Dynamic Programming: Bottom-up and memoization approaches
- Greedy Algorithms: Activity selection and optimization problems
- Bit Manipulation: Efficient subset generation and Gray codes
- Mathematical Formulas: Combinatorics and number theory
-
Clone the repository:
git clone https://github.com/ks-iitjmu/MyCSES.git cd MyCSES
-
Compile a solution:
g++ -o solution category/problem_name.cpp
-
Run the solution:
./solution < input.txt
Each solution follows a structured approach:
- Problem Analysis: Understanding constraints and edge cases
- Algorithm Selection: Choosing optimal time/space complexity approach
- Implementation: Clean, readable C++ code
- Optimization: Fast I/O and efficient algorithms for competitive programming
- Fast I/O: All solutions use optimized input/output
- Type Definitions: Consistent use of
typedef long long ll
- Modular Arithmetic: Proper handling of large numbers
- Edge Case Handling: Robust solutions for boundary conditions
- Clean Code: Readable and well-structured implementations
- β Introductory Problems: Multiple problems solved
- β Sorting and Searching: Core algorithms implemented
- β Dynamic Programming: Foundation problems completed
- β Mathematics: Advanced mathematical concepts covered
Thanks to all the amazing contributors who have helped improve this repository!
Want to contribute? Check out our Contributing Guidelines!
This repository participates in Hacktoberfest! We welcome quality contributions during October and throughout the year.
- Look for issues labeled
hacktoberfest
- Check out
good first issue
labels for beginner-friendly tasks - Read our Contributing Guidelines
- Submit quality pull requests
- Help review other contributions
- Solve new CSES problems
- Optimize existing solutions
- Add detailed comments and explanations
- Improve documentation
- Add test cases
- Create problem difficulty classifications
- CSES Problem Set
- CSES Book - Competitive Programming Handbook
- Solutions are optimized for competitive programming contests
- Time complexity is prioritized for large input constraints
- Code follows standard competitive programming conventions
- All solutions have been tested against CSES judge system
- Fork this repository
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/MyCSES.git
- Create a branch:
git checkout -b feature/problem-name
- Add your solution following our guidelines
- Test thoroughly against CSES judge
- Submit a pull request
- π Found a bug? Create an issue
- π‘ Have a suggestion? Start a discussion
- π§ Need help? Check our Contributing Guide
This project is open source and available under the MIT License.
Feel free to explore the solutions, contribute, and use them for learning purposes. Happy coding! π
β Star this repository if you find it helpful!