Hello, Codeforces. I’ve been practicing regularly, solving 5-6 problems per day, but I'm not seeing the results I want. Could someone suggest how I can improve my practice? Is solving 5-6 problems a day enough, or should I be doing something differently? So, I can't reach PUPIL "HELP".Thank you in advance.

I am able to solve up to 4-5 problems on Div 3 round still cannot retain my pupil status. 2-3 years ago it would be easily possible for me to reach near expert with this performance. All this is happening because of cheating. Keep up-solving Div 4 rounds and Div 3 rounds upto 4 and 5 questions. And you will reach Pupil.

I got you.

its not happening because of cheating. I also solve 4-5 problems on div3, and I just had a 1780 performance in the last contest. either get faster at implementing your ideas or solve more problems. if you just cope and say its cheaters, you will never actually improve.

"It is not happening because of cheaters" is such a nonsensical statement. Does not matter if I solve my last question at the last minute, I should still be able to retain Pupil.

No one is denying cheating, it happens, and recently happening a lot, but blaming cheating won't help. Being newbie means you have nothing to lose, just try to implement your ideas faster, I also solve 5 in div 3, but if I try to solve them within around 1 hour, I get good rank, try that instead.

As unfortunate as it sounds, some level of cheating will always happen. We should instead focus on ourselves

Most of the problems you have solved are 800 difficulty, just try to do 1100, 1200+ problems.

Thank you for attention.

basically the same question as op, if someone can pls tell what I am doing wrong or what I can work on

Got u.

Go to usaco.guide and study silver and bronze concepts.

Is it free?

It is completely free (as far as I know). I've used it and it really improved my skills. It's also really comprehensive, probably the best free-of-charge algorithmic coding course out there.

Bronze section: https://usaco.guide/bronze/ Silver section: https://usaco.guide/silver/

Thanks so much.

solving 5-6 problems a day is more than enough if you are actually learning from the problems. if its just problems that you read and immediately know the answer and can write it in 5 minutes, there is no actual effect and you wont actually improve. try solving problems that are your rating +(200-400), so 1000-1200 problem.

Thanks.

if u want to get pupil,u just need to solve a,b in 50 mins in div2 or solve a,b,c in 50 mins in div3,so if i were u ,i will try to vp div2 and div3 everyday.

I agree that you are solving problems regularly, but you are only solving 800 rated problems. Solve 50-70 problems for a rating and move to next rating(900,1000,1100..). If you want to become pupil which is 1200, then you should solve questions upto 1200-1400, then there will be high chance of you becoming pupil.

I feel for you,I myself just reached pupil as the last contest went well for me .Apart from the cheaters inflating the ratings (its not in our hands except the rating rollbacks),I would suggest trying to solve higher rated problems ,especially 1200-1400 ones .

I was myself solving a lot of binary searching questions recently but in recent contests they haven't asked a single question of it.But easy to learn topics such as prefix sums,manhattan queries ,interactive problems etc. helped me out .Also there was a question of geometry in prev. div 2 contest ,I somehow managed to guess the solution by just implementing somewhat sensible ideas (although it took 1 hour).

All the best.

I’m so grateful.

I was also stuck in Grey for about 8 months when I began. Try to solve problems +100 or +200 from your current rating. However, the best advice I can give you is "Enjoy the journey". Competitive programming, for me, is boring when you just look for the rating. Just enjoy solving problems, learning about algorithms, and that feeling of happiness when you solve a problem like +500 from your rating. After you enjoy the journey, I assure you 100% that your rating will increase. ;)

Thank you vary much. :)

You're not practicing the right way.

Do harder problems. You solve only *800 problems, and that's not nearly enough. Doing *800 problems can only make you to ~750 rating and you can move to *900 or *1000 problems if you feel comfortable with *800 ones.

Be confident. Every coder can reach 1800 rating if they work hard enough. IQ doesn't count.

SpoilerThat means I'm not practicing hard enough.

More than $$$91.36\%$$$ of the problems ($$$201$$$ out of $$$220$$$) you solved are below $$$1200$$$ in difficulty. You should try some more difficult ones.

Then, do some other algorithms, not only implementation or greedy. Something like Binary Search and DP are also very important.

I Got you.

1) Solve more 1100+ problems, aim at 1100-1200 and raise the plank towards 1300-1400 when you'll feel confident enough.

2) When contesting, have a pen and a notebook. Why couldn't you solve this? https://mirror.codeforces.com/contest/2002/problem/B It is in your rating territory, you must be able to do this. Write some arrays in the notebook, search for the pattern, for the strategy, try different edge cases. In short, train yourself to look for patterns.

AND ALWAYS USE A NOTEBOOK WHEN SOLVING DIFFICULT PROBLEM.3) It's recommended to have some friends to orient to and compete with. Sometimes it's ok to just add to friends random people with the same or slightly higher rating. If you see that in standings they solved something you couldn't... Then you just must not give up, try harder.

4) Train your speed and stamina as well. Write a template code with staff like "include <bits...", "typedef long long int ll", "cin>>t;while(t--){ ... }", etc. If you solve A/B fast enough, you may not only reach pupil, but straight up specialist.

5) 5-6 problems a day is kinda nuts. Depending on your free time and motivation, of course, but for me that amount is 0-2. The training problems you solve should be difficult, if it's solved under 20-30 minutes — than it's not, that means, you probably didn't learn a new thing.

6*) Solve not only codeforces. Look at sites like leetcode, timus, acmp, etc. You need more variety of tasks and learning practices. E.g., in 80/20 principle, you still need theory, it's just in the 20% category.

7*) Learn about dynamic programming, binary search, prefix sum, sorting, basic graph algorithms (dfs/bfs), data structures (stacks/queues/heaps) and respective algorithms.

"Newbie won't encounter problems with graphs!!" — https://mirror.codeforces.com/contest/2000/problem/B if one knows about graph traversal on the most basic level, he'd immediately know the solution, while the problem itself is not related to graphs. Div 3 btw.Good luck, bro.

Thanks for attention bro.