A suggestion for Long Challenge

Wouldn’t it be great if questions in long challenge have prerequisites mentioned while the conest is running. Most of us solve long challenge so that we can learn new things.

Suppose there’s a question that can only be solved using FFT and there are many people who haven’t even heard of it. So they get stuck at that problem and think for many days which isn’t going to be productive at all.

Now many of you may say it’s like giving direct hint to the problem . Yeah I agree, but we are atleast learning something new in that period.

There’s an other way to do this. In the long challenge announcement itself they can mention prerequisites to solve this long challenge.

Example :

AUG 20A prerequisites : Binary search, Segment Tree, Lazy propagation, FFT …etc.

What do you guys think about it ?


yeah actually, it’s not a bad idea


It’s an amazing idea. But I think codechef is lazy and will not change anything.


Bad idea

1 Like

Can you explain why?

Also, this may even give people less reason to cheat :smiley:


I feel its like giving away hints (sort of cheating). The challenge is rated, we can’t have hints for it.

If you want it to be that way, just skip the live contest, and upsolve after the editorials are published, you’ll have your “hints/prerequisites” and it won’t ruin the contest for others who’re participating.


I think giving pre-requisites question wise is too much hint. I guess it’ll be better if they provide it in the announcement.


Well, long challenges are anyways full of cheating.


It wouldn’t be that difficult to tell, which prerequisite is for which problem.


True that.

That doesn’t mean Codechef starts giving away hints.


Hints and Prerequisites are two different things. But, yeah prerequisites do give hints to solve a problem. Suppose you are stuck on a problem for 10 days already (which is a lot of time) and after that you go through the editorial and takes time to understand it and also upsolve it. Also the enthusiasm to solve the problem while the contest it running and after the contest has ended does decrease. When you know what to be learnt during the contest, it can be learnt much more faster.


If you’re stuck at a problem, you shouldn’t stay stuck at it for 10 days. You could just give up, and look at the editorial when the contest is over.

Long isn’t that hard, if we spend 10 days working on it, we can make all of the problems (Div2), but its not wise to waste so much of time on it. If it can be solved in less time, then solve it, other wise just head over to other judges, and practice other stuff, until the editorial is out.

(*knowing when to quit is an underrated strength :slight_smile: * )


Do u remember Factor Tree question during April Long challenge? If it was mentioned that the problem required Mo’s algorithm,Binary lifting method to find LCA, then many would’ve solved using their first approach. Not letting these topics out would make the question harder and more challenging. Even though I didn’t solve this question, I learnt many new concepts that I thought would help me solve this question. That is the learning curve. U figure out the approach yourself. Now I think that question has taught me so much. But do you think if the topics in the question were let out, people would’ve learnt some other topics along the way?. If we directly learn the best approach, we wouldn’t be able to gain the ability of problem solving. In the real world too, we have to figure out the best way to solve the problem ourself. This scenario is same as the 10 days time that u have to solve the challenge. If you dont get the approach, then after the contest, you have editorials which help u learn those concepts that you missed. So learning new concepts during the long contest and just after it is always there. This applies to many questions in the long challenges. Even though some may get demotivated, they should also know that it is the most important part of their learning curve. Failing in approaches and trying hard to solve them, as per many good coders, is the best way to learn to tackle tougher problems in the future. So, as per my point of view, giving prerequisites for a question is not a good practice.


I actually like your idea, Codechef may list all the prerequisites which are required in the long challenge. Not for each problem respectively, but In the the invitation to long challenge or wherever they want. It will be really really helpful to the beginners.


Yeah I remember the question. I was able to solve it for 40pts even after using Mo’s algo and Binrary lifing. Because I was lucky enough to find a blog on codeforces. After looking at the editorial It was the same set of algorithms used but I didn’t do precomputation of inverse mod. If the prerequisites were mentioned then may be I would have tried harder because I’ve used all of them

1 Like

And Also Make it unrated .


I like your idea bro because if we are trying to solve a problem then we will try to learn all the prerequisites needed to solve whatever effort it takes because its a long challenge we have to learn to score good,but when the challenge gets over we do not have that much interest to go through the editorials because while competing our mindset are different. So providing prerequisites will lead to overall development. And the question of hint,we only know the prerequisites nothing else ,in that case also do not provide prerequisites individually but overall that will be needed.

1 Like

If the contest is unrated then it would be useful. If the contest is rated, it would be like solving a problem from the past contest