CodeChef has a very unintuitive way of categorizing its problems, so Iâd suggest you not to pay too much attention to the assigned âdifficultyâ of some problem. For example easy-medium may sound like a reasonable thing to attempt, but in reality there are many such problems a good number of Div. 1 participants struggle with.

So for now Iâd recommend going to the recent contest page and picking either contest with âLunchtimeâ or âCookoffâ in its name. Remember that divisions are sorted in decreasing order of difficulty. So Div. 1 is the hardest one while Div. 3 is the easiest one. Division 2 and Division 3 share a fair amount of problems in their problemset, so that the harder (latter) problems in Division 3 are the first couple of problems in Div. 2.

Doing too many easy problems is never a good idea, so donât just hop from one contest to another and do the first (easiest) problem and hope youâre improving. Difficulty of problems can rise exponentially, so as you improve youâll find yourself getting stuck at new milestones. For example, youâll first struggle with solving the second problem of Lunchtime, but in a couple of weeks/months when youâre able to solve it with 80% success rate, youâll find yourself not being able to solve even a single third problem, etc, etc. So improvement is not that linear if you want so.

Iâd recommend starting with the first problem of the previously mentioned short contests (Lunchtime and Cookoff) and working your way through the problems. Set a timer to 30 minutes and try to solve the first problem. If you couldnât figure it out, stop right there and read the editorial (explanation of how to solve the problem). If you see some technique youâre not aware of mentioned, google a bit about it and come back to it. For example you may encounter some properties of bitwise operators such as âa ^ 0 = aâ. Figure out why it works and come back. Now move on to the other contest and do the same thing.

If you were however able to do the first problem in 30 minutes, it means you were able to find the observation that solves it easily, it just took you a bit of time, so move on to the second problem. This time give yourself a 50% increase in time meaning 45 minutes, try to solve the second problem. Again if you couldnât solve it in the given time, just go ahead read the editorial and try to figure the techniques out. Iâd say do this up until the third problem (again increase your time by another 50%). If you were able to solve all three problems, congrats! But you may have just gotten lucky, so move on to the next contest and donât bother attempting the 4th problem (the difficulty rises very steeply between those two so as a beginner you wonât get much value out of it since you wonât understand a good amount of what it is about or how to build up the intuition behind it, this all comes with practice but you first have to learn the easier concepts).

As you practice youâll learn to recognize what feels comfortable, so youâll probably see after some time that first problem is getting too easy or the second one is getting too easy, you can slowly start to skip those problems in your practice sessions but still do them once in a while. For example you will see that doing the first problem doesnât teach you anything but you still donât want to lose the routine so youâll do 1-2 of these every 3-4 days, but again donât overdo it as it doesnât provide too much value and just gives you false perception of improvement.

This should be enough to keep you entertained for at least 1-6 months depending on how much time and effort you are willing to put in.

After this point you will probably figure out on your own how difficulties work, what topics you are good in, which ones you need to improve in and all the fun and perks that come with this hobby. Good luck!