Operating System
It is always recommended to use a Linux based OS. It is so because not only you will learn some better know-hows of the system but also will be able to get some pre-installed coding tools.
I would highly recommend a Linux system myself. For Starters Ubuntu is quite fine. Advance users may go with ArchLinux or Kali Linux. Even if you don’t want to change your OS, Please use latest versions of Windows (7 or later).
Download Ubuntu Desktop
Setting up a C++ Competitive Programming Environment
In this article, we will learn about how to setup all in one Competitive Programming Environment