An Animal Contest 4

Welcome to An Animal Contest 4! This contest will be themed around Christmas!

The problem setters are Tony1234, sjay05, ThingExplainer, and WilliamWu277.

The contest organizers are Riolku, samliu12 and danielz1000.

Special thanks to Dan13llljws, wleung_bvg, X_Ray, feliser, Averesoft, Evang, Plasmatic and Encodeous for testing and feedback on problems!

The contest will be rated for all participants with a rating under 2400.

Before the contest date, you may wish to check out the tips and help pages.

You will have 3 hours to complete the contest. After the contest window begins, you may begin at any time. Once you enter the contest, your personal timer will start counting down and you will be able to submit until 3 hours from when you started, or until the hard deadline (00:00:00 EDT of December 28th), whichever comes first.

After joining the contest, you proceed to the Problems tab to begin.

Here are the parameters of the contest:

  • Some problems offer partial marks in the form of subtasks.
  • Number of problems: 6, full feedback (you will see the results of your submissions instantly).
  • Scoreboard will be hidden, until your window is over. Divulging the contents of the scoreboard to participants who have not finished their window is an offense, the punishments of which are listed below.
  • There will be no submission limit.
  • Ties will be broken by the maximum submission time that increased score with no penalties.
  • Problems will be approximately increasing in difficulty. Reading all of the statements is recommended.
  • Rated for opening the contest. Being able to read the problems will cause the contest to be rated.
  • Checkers: unless otherwise specified, identical. The contest will follow the standard convention of having all lines terminate in a \n character, with no trailing whitespace.
  • It is guaranteed that all problems will be solvable with C++.

We have listed below some advice as well as contest strategies:

  • Remove all extra debugging code and/or input prompts from your code before submitting. The judge is very strict — most of the time, it requires your output to match exactly.
  • Do not pause program execution at the end. The judging process is automated. You should use stdin / stdout to perform input / output, respectively.
  • Python users are recommended to use PyPy 2/3 over Python 2/3 when submitting.

Clarification requests for the contest must be routed through the clarification system provided on DMOJ, and not through other channels including but not limited to Discord and Slack. Furthermore, all clarification requests will be handled the way they normally are in IOI. Note that, in particular, clarification requests must come in the form of yes/no questions.

Due to rampant issues with cheating on contests that has happened recently, any suspicious behavior during the contest window may result in your rating being impacted negatively. Such behavior includes, but is not limited to:

  • Divulging the contents of the scoreboard to participants who have not finished their window.
  • Registering for the contest with at least two accounts.
  • Participating in the contest with an account that is not your primary account.
  • During the contest window, talking about the contest in more detail than answering a yes/no question about whether one participated in the contest. This includes, but is not limited to, posting spoilers about the contest and public speculation of the contest.
  • Attempting to exploit bugs in the platform to subvert the constraints of the contest.
  • Attacking the judge infrastructure, other contestants, or contest personnel within or after your window.

Punishments may include performance being unrated or, for more serious infractions, being forcibly ranked at the bottom of the scoreboard.

At the end of the contest, you may comment below to appeal a judging verdict. In the case of appeals, the decision(s) of DMOJ staff is final.


  • 1
    Giyu777  commented on Dec. 28, 2021, 4:01 a.m. edit 3

    Hey! Can someone please post their solution to Problem B (Lavish Light). Im not getting it after thinking for quite long.

    Is there a way to see other's solution?

    • 5
      Spitfire720  commented on Dec. 28, 2021, 9:22 a.m.

      Ask the DMOJ Slack or the DMOJ Discord. They can give you some help, but they won't give you the solution. It's up to you to figure out so you can learn how to solve questions like this in the future and be a better coder. Also, I don't know how to solve it either :kekcry:

  • 2
    maxcruickshanks  commented on Dec. 25, 2021, 10:45 a.m.

    Because of a judge outage during the contest, comment below or email [email protected] to request an unrate if you were affected during your contest window. You can also request using the DMOJ Slack or DMOJ Discord.

  • 3
    HediChehaidar  commented on Dec. 25, 2021, 10:21 a.m.

    I joined the contest a bit before you mentioned the issue with the judges. What can I do ?

    • 2
      maxcruickshanks  commented on Dec. 25, 2021, 10:28 a.m.

      One judge has returned, and you can get your submissions judged.

    • 1
      stevenbai0724  commented on Dec. 25, 2021, 10:26 a.m.

      Same, waiting on judge :(

  • 7
    SkyCrystal  commented on Dec. 24, 2021, 4:31 a.m.


    • 6
      Tony1234  commented on Dec. 24, 2021, 7:56 a.m.


  • 16
    X_Ray  commented on Dec. 23, 2021, 10:00 a.m.

    Good luck everyone!

  • 14
    Victor_Chan  commented on Dec. 22, 2021, 11:00 p.m.