Programming is fun, Programming is an exercise for your brain, Programming is a mental sport and when this sport is held over the internet involving sport programmer as a contestant then it is called Competitive Programming.
CP is like a mind sport where you use algorithms and your logical thinking to play well.
The problems in CP are neither normal programming questions like- "WAP to find sum of 2 numbers or factorial of a number" nor basic DSA like- "WAP to stack implement using arrays or to reverse a binary tree".
You are given a real world problem to solve them and find an optimistic solution through programs. The program is mainly judged on 2 important basis- Time and Space complexity.
Once you step into programming, you just don’t learn how to code but you also learn the art of thinking, by breaking your code into smaller chunks and then using your logic-based creativity to solve a problem from different angles.
So the one and clear goal behind these competitive programming is to prepare a programmer such that their logical ability increases and they are able to write code for any challenging situation.
Many people(including me) gets freezed out after seeing the problems in CP and get thoughts like I can't do this, It's not for me and I shall ignore this. No, this is absolutely wrong.
Remember we as high school students had learnt the Newton's laws of motion and hardly knew the equations, that's it. So by just knowing these basic equations could we solve any IIT question given at that time? Think about it!
CP is all about advanced applications of the basic algorithms, logics, DSA and maths that we learnt(in any programming language).
NO!
Programming is a challenging role and once you enter this field you will encounter new challenges and you may have to solve some problems which no one has solved before or their solution doesn’t exist anywhere.
Another reason is that a lot of big companies like Google, Facebook. Microsoft, Amazon hires through competitive programming. So if you want to get into these companies then you really need to get your hands dirty in competitive programming.
These companies no longer ask for a degree certificate instead they see your skills in problem solving. CP helps alot in improving coding skills.
Always remember one thing that there involves no magic to be a good problem solver in CP. It includes lots of dedication, hardwork, practice and consistency.
You should move gradually from zero to top level which invloves lots of ups and downs and burden that you can't solve a problem or can't resolve a bug.
Also read: Basic roadmap for Competitive Programming
That's it from this blog post. If you liked it then do share this blog with your friends or people who wanna get into programming world. Thank You!