Should CodeChef increase the duration of the long Contest to 2 weeks?

UPDATE: We got some good suggestions. Thanks to all of you for putting in your time and effort. The ones that we think we should consider and a few that we found interesting are:

  1. Start the long contest on the first Friday of every month and let it be a 10 day contest without changing the duration - m1sterzer0
  2. Give away goodies to top 6 Indian and top 3 Global participants for the best challenge score outside the top 20 and top 10 respectively - anton_lunyov
  3. Allow the ability to create virtual contests for the users - mukulgupta
  4. pypy support on SPOJ to make Python more competitive - m1sterzer0
  5. Host two contests per month - A few people suggested the same.
  6. Have two testers to test each long contest - iscsi

We are considering implementing 1 and 2. We like 3 and will consider adding it to our priority log. We will check the feasibility of 4 with SPOJ and try and get it done. 5 requires a lot more commitment and effort from our side and at the moment we cannot take it up as we have so much else to do. We will surely consider this for future. 6 is a good suggestion too but then we need to work on the modalities of the same and may consider this in future.

There are a few suggestions made here:

  1. Let the contest run for full 2 weeks instead of 10 days, that way we are guaranteed to have two weekends to devote to the contest irrespective of the month. Meanwhile, weekend is not Saturday and Sunday in every country. For example in Holland it is some other days which are weekdays in our country. It could be different at more places also. CodeChef is a global platform, and when a contest is not in multiple of 7 days, that amounts to variable amount of free time among various participants.

  2. The 9 binary problems should get locked 3 days before the contest gets over. That is, they move to practice section and editorials are up, but challenge problem remains open in contest arena. This will increase the response rate to challenge problem. Otherwise most of the time we are in a dilemma whether to increase our score by a fraction or try to solve some unsolved problem and get a full point. Most of the time I end up ignoring the Challenge problem for the greed of a full point. Challenge problems are very interesting and require different skills than exact solution type problems. Having a separate window of time for challenge problems will increase participation for this problem and we will have a greater diversity of ideas coming up for this problem. I would personally want to devote more time to this problem but the reward currently is not so large for it, only some decimal points.

  3. We introduce some prize for the best challenge problem submission over and above other prizes awarded. After all, this type of problem format is very different from other problems and forms a category of its own. Though we are mixing the two type of problems in Long contest for Tie Break etc we could keep its importance high by having an additional prize for best challenge problem solution submission.

We (at CodeChef) like the suggestions and our response to the same has been mentioned here. What we have proposed is to accept points numbered 1 and 3 above.

We do not believe that we should lock all the problems and force people to solve only challenge problems for a particular time frame. We think that mostly people who will actually fight for a fraction of a point will be those who are at point 8 or 9, who are competing for the top honors. If I am at point 5 or point 6 or lesser, I would rather spend those extra 3 days for solving another problem (or possibly more) - which seems only fair. This can potentially fetch me more than 1 point but more important than that I can invest that amount of time in learning some concept to solve another problem. We do not want to restrict this choice of the participants and force them to solve a particular problem.

We believe that we must extend the duration of the contest to 15 days (starting on the 1st and ending on the 16th of every month). This will ensure the addition of two weekends irrespective of which country one lives in. The flip side to this is that now people have to wait longer for the editorials.

We are also considering some additional recognition in the form of some reward for the best submissions for the Challenge problem as mentioned. This may make contestants give more attention to the Challenge problem.

However, we want you all be included in this discussion and hence we want you to share your thoughts here. Please add your options as an answer and vote up for those options that you want to be implemented. Once we have a consensus, we will try and implement this at the earliest.

30 Likes

According to me, as I am in a learning phase right now (we are always in a learning phase, but I meant a beginner) and these propositions are somehow biased towards top scorers. Apart from waiting for a long period for the editorials, its okay. I do not know how to fight for the fraction points, not up to that level now so can not comment on that part. Overall, a change is good! And, it should be tried once to see the effects.
:slight_smile: Thanks
I love Codechef.

2 Likes

Locking 9 problems 3 days before the end gives the same issue again! If 2 of those last 3 days are weekend(holidays) in one country and not in other!

I completely agree with points 1 and 3. I think point 2 is also perfectly acceptable. It often happens that I don’t attempt the challenge problem and look to solve other problems to attain a better score.The challenge problems are great and locking other problems 3 days before would obviously increase participation. So I recommend that point 2 be accepted as well.

1 Like

I’m totally in favor of points 1 and 3 but not 2 as most of the people are here to learn than anything else. If you lock the problems, a number of people would not be able to give their best shot and it actually might make the people lose interest in the competition as there will be only one problem to solve and it might get frustrating after a while.

But really 2 weekends might just get my ranking up! Implement point number 1!

2 Likes

YESS! Definitely!

@admin I agree with extending the problems to weekends but I think adding 5 or 6 days to the initial time is a little bit too extreme. I think this must only be done if there is no better way of covering the weekends. I completely disagree with point 2, I think the whole purpose of competitions is to push people to make critical decisions and solve problems under this kind of pressure. I think that if point 2 gets accepted it would be unfair to those in the higher positions that could actually solve all the problems (and I’m not one of them but I want to get better on fair terms), I think that instead of changing the contest people should try to get better enough to solve the given problems before the contest ends. About the rewards, well, I think it’s a good idea, it would motivate people but do as you please, I really have nothing relevant to say about this.

And I would also like to know how points for long contests are awarded…

1 Like

Hello,

I will provide my opinion on this matter as well, and will start by asking, why was this idea suggested in the first place?

The format 10 days - 10 problems, is in my opinion more than well suited to the philosophy of the Long Contest format, that is to provide some easy and medium problems that can be solved by anyone who puts some effort in reading editorials, contest after contest and looking at the setter and tester solutions once the contest is finished.

The main advantage of this is that even people who are not very skilled at programming can begin to gradually see results as they will improve a lot by doing this and it will keep them motivated to keep studying and learning with the best.

Once this is done, they might be able to start working on some of the medium difficulty problems and, at last move to the hard and challenge problem.

I would also like to point out that for someone who is not very experienced with algorithms, even grasping the ideas described in the editorials can take up to several days if not weeks. It’s not in one day or with one implementation that someone who didn’t know about Fast Fourier Transforms will become good at implementing solutions that use them, for example.

It’s a very hard learning process that takes a lot of time! (Which is something I personally don’t have :(…)

So, up to a point, my idea would be to promote some sort of discussion panel, where, say, up to 2 days after editorials are out, the setter of each problem remains available to answer any queries regarding ONLY his/her own problem to anyone who might have them. I believe this, if done on a focused way, would benefit many people!!

Now, regarding the Challenge problem, I don’t believe that having some extra days solely for it would help anyone but ACRush and several other top solvers… Some solutions for these problems are way over 500/600 lines which makes them literally impossible for a beginner to read and understand…

We should remember that some top solvers can solve 8/9 problems in one day or two, while other people struggle to get AC for only one problem… And to benefit beginners I think that we should stay with 10 day format, as the only way to learn is by struggling and working very much.

Hence, I think that by extending contest duration, it would serve mainly to keep the fight between ACRush and someone else active on the challenge problem… And ACRush always wins… Which I don’t believe that it’s something that beginners are very much interested in, because it wouldn’t be with 3 extra days that they would solve Challenge problem… That three days would be better spent analyzing editorials for easy problems… IMHO.

Best regards,

Bruno

10 Likes

not 500-600 its 1700-1800 lines :slight_smile: I am a beginner. Seeing BIG solution makes me ignore the solutions :slight_smile: ACRush also used to come 2nd,3rd 4th a few years ago but now he has practiced so much…he’s better than others…
FACT : I support that I am also not able to grasp completely many ideas of top solution.Increasing the number of days would surely help me out.

3 Likes

Totally agree with points 1 and 3. Hope it gets implemented from FEB challenge.

1 Like

Well, but by increasing number of days, all you would gain would be more headaches… Because one thing I believe in algorithm contests is that having the right idea is key… Without it, you won’t go far, even if contest was 20 or 30 days… You (and I ofc, I’d say Im at medium/beginner level) would gain more if editorials could be discussed with setters themselves on a larger time window.

4 Likes

FACT : I am a beginner.I really really want to be good at these challenges.

But see how following things affect my motivation :-

**HOW I ATTEMPT CODECHEF’s PROBLEMS :
**1) On 1st/2nd of the month I open the codechef’s LONG challenge contest page and then I go for the problem which is solved by maximum number of people. I attempt that problem.
2) But manytimes it has happened that it **took me about 7-8 hours to figure out the solution.

  1. For example, it took many hours for me to realize the SALARY problem’s solution. This situation demotivates me.

Now as a beginner what I think : "I am not able to solve this easiest question.How would I attempt rest of the other problems?"

  1. Say Somehow I manage to solve this easiest problem.But by the time I figure out the logic behind the next 3 most solved problem its 9th of the month.

  2. Suppose I DARED to write a solution for a hard problem which I think would work. So after 3 days I figure out a logic and wrote a solution only to find it TLE!! e.g my TEAMSIZE submission http://www.codechef.com/OCT12/status/TEAMSIZE,abhinav1592 . AND this is where morale goes down.
    After seeing the editioral of TEAMSIZE I saw BIG-Really BIG differences in my solution and editorial.

  3. In the end I just keep waiting for editorials. Even if I try hard its difficult for me to understand a few editorials too.

  4. Some problems seem like untouchable to me. When I see other people around me solving way too fast I just keep thinking how he would have solved this problem.
    e.g. those which require a combination of concepts.

Now by extending the contests, a beginner like me would get more time to think for other problems in terms of its implementation.

Apart from this,I know all of the top people were beginners once but it would do no harm if they post some of their experience to guide us better.

4 Likes

I believe that a 14-day contest would be better because of containing 2 week-ends for everyone. Of course, there will still be people with more time to devote to the contest and others with less time for it, no matter how long the contest will be.

However, extra days added to the contest (because of problems added late or updates in the test data or judging programs) could spoil the whole idea.

Apart from that, I think the contest is fine as it is now (extra prizes for the challenge problem won’t hurt :slight_smile: but I don’t think locking problems is the way to go).

3 Likes

I think 10 days is a perfectly fine length for the contest and don’t think it should be increased to 14 or 15.

There will never be any length of contest which allows everyone to participate for exactly the same amount of time. Time zones aren’t so far apart that some people are more advantaged than others in terms of how many weekends they have during that period! The only differences may be a few hours on either end, which a 14 or 15 day contest isn’t going to change at all, as days near the start or end of a contest could be considered more important.

The recent contests which have been delayed by a few days have really felt a bit too long. (And that’s despite me actually solving the hardest problem in that delay period.) Those people who need more time can happily continue solving them in the practice room. I could point you to about a million comments by people asking why their code is wrong as knowing so would help them learn - being able to access editorials and correct solutions after the contest has ended provides a means to do this, so stretching out the contest isn’t really advantageous to them.

As for the challenge problems - personally, I’ve never enjoyed them as much as problems where there is a definitive yes/no answer - that, combined with the fact that I know I have absolutely no hope of reaching the top 2, usually means I don’t even attempt them.

I don’t believe attaching a prize to the top challenge score is going to accomplish much though, as we all know who will win that :slight_smile: Since the top 2 already have prizes, perhaps some prizes could be randomly allocated - eg, chosen at random from the top 10 or 20 challenge scores, not including the top 2 globally. That would definitely be an incentive for people to work on the challenge problem. (As would changing the prizes back from top 2 only to be spread out amongst more people, like they used to in the beginning.)

9 Likes

Finally I’ll get two weekends to solve the problems :slight_smile: Its quite difficult to manage being in office for the whole day and then coming back and solving the problems. Now I can devote two sat-sun for codechef :slight_smile:

It will help high-skilled coder,in case he is missing some concept to solve problems.
But it will not help low-skilled or beginners as problem level is too high (except 2/3 question) for them. It does not matter how much time code-chef are going to give,they got frustrated after struggling for 7-8 hours for a single question (except the two problems that got highest AC). and for them contest got over after solving two problems. So its better to give 50% problems keeping in mind the level for beginners .

Please cast your votes on above 3 points. Also ask fellow Codechefers to do the same. I will post the results once decent number of responses get recorded. Note - This is not official form

2 Likes

@admin I haven’t been around here very long – this was my first contest here (ironically I entered to force myself to become a better python programmer, but I often ended up abandoning Python for C++ for speed, but I digress…). I can say that I appreciated having 2 weekends to work the problems this time, as the weekdays get eaten up with work for my job and family time. That said, I also agree that more than 10-11 days feels a bit too long.

It seems that your choices are:

  • Leave it as is (perhaps with the extra recognition for the challenge problem)
  • Always run the contest from a Friday afternoon IST to Monday afternoon IST (gives most people in the world 2 weekends)
  • Run it for two weeks as suggested (which makes the contest a bit too long)

As for me, I would probably selfishly vote for the middle alternative, but if that is impossible, I would probably just leave it as is.

P.S.: We need pypy support on SPOJ to make Python more competitive. If anyone has a suggestion on who I should try to influence here, I’ll take any suggestions.

3 Likes

Codechef has been a wonderful platform and I owe it a lot for whatever I have gained from it. However, I am not completely convinced with the above suggestions.
I’d like to stick with the present format and I reiterate triplem’s viewpoint.

  1. Firstly, no matter, how many days the contest gets extended, we will never be able to ensure everyone gets an equal time. I, for instance, being the lazy person that I am, keep on delaying my submissions till the end of contest is near.
  2. Secondly, I believe, due to the format, it is inevitable to fully prevent discussions of live contest problems among peers, and on other online platforms like stackoverflow, etc. Extending the contest will only add to more frustration leading to more of such behavior. There are multiple instances of comments being posted by people to find out why their solution was wrong/slow. Often, the slightest hint converts a WA/TLE to AC. By extending the contest, the access to editorials is delayed and that doesn’t really help them.
  3. I agree with the 3rd point of adding some incentive to try and solve the challenge problem as it requires a different skill-set. It will surely bring in more solutions for the challenge problem.

Apart from the suggestions already discussed, I’d love if codechef allows its users to conduct virtual contests (without hassles) so that the problems which they couldn’t solve during the long/short contest and other archive problems could be clubbed in and practiced in a contest-environment.

7 Likes

I completely agree on the “discussing live contest problems” part. Here is an example where the easiest problem was being discussed: http://math.stackexchange.com/questions/271634/counting-the-number-of-ordered-triples

1 Like