The explanation of the time complexity of each solution can be found in a readme in the folder for the relevant challenge.
Challenge1a: https://github.com/Aptcoder/overflow/blob/main/challenge1/challenge1a/readme.md
Challenge1b: https://github.com/Aptcoder/overflow/blob/main/challenge1/challenge1b/readme.md
I also wrote basic unit tests to cover the given test cases which can be used to test usability of functions.
Instructions for setting up and running challenge2 can also be found in the challenge2 folder: https://github.com/Aptcoder/overflow/blob/main/challenge2/readme.md
For easy of execution of commands, each challenge also has a makefile.