csacademy's blog

By csacademy, 8 years ago, In English

Hello Codeforces!

The latest csacademy contest, Round #9 took place on Tuesday, July/26/2016. First of all congratulations to the winners:

  1. FatalEagle
  2. uwi
  3. anta
  4. tourist
  5. I_love_Tanya_Romanova

In addition to the top 5 finishers, we initially announced that we're going to have 2 more special prizes. Meanwhile we changed our mind and decided to have 3 special prizes:

  1. The first special prize is awarded to snuke, for being the first one to solve Sum of Squares, which proved to be the second hardest problem after Jetpack.
  2. The second special prize is awarded to Kostroma for a correct solution at Jetpack that unfortunately got TLE.
  3. For the third special prize, we decided to assign weights to all the contestants who solved at least one problem, but were not among the top 5. The contestant placed 237th had a weight equal to 1, while the one placed 6th had a weight of 5, with everyone in between linearly distributed. Using these weights we randomly chose the winner: anubhav94.

All the winners, check your email for more details about collecting the prizes.

This round was special for us, as we had the first external problem authors. Thanks again to enot110 and mgch for authoring Jetpack and 101 Palindromes. Also, Yury_Bandarchuk did a great job translating the statements in Russian. To our big surprise, there were 248 users who submitted at least one solution. Even though it's not much, for us it was a record breaking number. We hope you had fun participating and we hope to see you all again at Round #10.

Unfortunately though, not everything went smoothly, as we encountered some issues:

  1. The website froze 50 minutes into the contest for about 10 minutes. This was due to a bug on our side that got fixed :).
  2. The dynamic scores were not calibrated properly. The first 4 tasks all got a final score of 100 points, with a huge gap between them and the last 3. Maybe the set was not that balanced either, but we're learning from every mistake. We are still waiting for our user base to grow a bit more before introducing divisions. The format of the contests will then change, with 4 tasks to be solved in 100 minutes.
  3. The time limits were too strict for some of the problems. Usually we set it to be twice the running time of the official implementation, but when there's no obvious brute force in sight we should be more generous.
  4. Finally, as you could notice after the contest, FatalEagle's solution for Jetpack had some hardcoded input values. Given that we have full feedback there's no way we can stop this from happening again. One can always binary search the input values using the judge message: TLE if N <= some fixed value, MLE otherwise. Sure, there are some quick fixes like not showing as much feedback as we currently do, but we don't want to change the system yet. The long term plan is to implement pretests, so this kind of hack can be avoided completely. Until then though, a line needs to be drawn somewhere. So from now on, we reserve the right to delete a submission that got AC if we can find a test respecting the constraints that makes the solution fail. Of course, this doesn't apply in the case of weak tests on our side, or some legit randomised solutions. We just want to make sure nobody "games the system" in the future.

That being said, we had lots of feedback from you guys and we already started working on everything. Thank you all!

  • Vote: I like it
  • +103
  • Vote: I do not like it

»
8 years ago, # |
  Vote: I like it +1 Vote: I do not like it

Also, the current penalty of might be a bit too lenient. Submitting 50 incorrect solutions seems a lot worse than submitting after half an hour.

  • »
    »
    8 years ago, # ^ |
      Vote: I like it +15 Vote: I do not like it

    The purpose of the log is so that all incorrect submissions are not equal. For instance 4 wrong submissions for 4 different tasks are not the same as 16 submissions on a single task where you just can't find the bug in your code and are frustrated.

    From what we saw, almost always when someone has 10+ submissions it means that they are close to solving the problem but are struggling with an edge case (trying to squeeze into time limit, missing an edge case, etc).

    Smaller penalties for wrong submissions are also meant to encourage beginners to try instead of having their score shrunk because they have a stupid mistake.