Welcome Spring Contest 24

Week 2 (February 9)

To welcome you to the spring semester, we will have a special friendly contest with prizes. The contest is open to all students at Princeton, and will have three brackets/divisions: one for students that have no experience in competitive programming (i.e. you have been to one or zero of our weekly sessions), one for students with some experience in competitive programming (i.e. you have have to a few of our sessions and usually work on div II problems), and one for students that are more comfortable with competitive programming. There will be prizes for all divisions, so everyone has a chance of winning!

Bring a laptop and optionally pen and paper to work on problems. To participate all you need is an account on codeforces (create one here) and then to join our codeforces group (if you haven’t done so already, click on “Join” on this page). Just before the contest starts on Friday we will provide the links to the submission pages.

The contest starts this Friday February 9 at 5:20pm and lasts two hours, so it finishes at 7:20pm, and it will take place in Friend Center 006. Try to show up at 5pm so you can have time to setup.

We will have free pizza and snacks for everyone, just like we do every week.

Contest Structure

The contest is divided into two divisions: division I; and division II.

You should pick whichever one suits you better and you are not allowed to participate on multiple divisions, so pick one and stick to it. The three divisions will contain different problems.

Note that most problems will have appeared before in other competitions from around the world, we won’t have original problems in our contests unless otherwise mentioned. You shouldn’t try to search for the original problem, since this would be cheating. You are also not allowed to use tools like github copilot or chatGPT.

Prizes

We will award 6 prizes from the following list:

The winners of the contest get to pick one of this prizes in the following order:

In addition to there, there is a secret challenge with an extra prize that will be defined in advance, but only revealed after the contest. For example, last year it was awarded to the contestant that had the most wrong submissions before a correct submission.

Contest Rules

Before the contest starts

If you have participated in one of our sessions in the past you can skip the following steps.

  • You will need to have an account on CodeForces in order to participate. Go to https://codeforces.com/ and click on *Register* on the top left to do so.
  • Once you have an account, go to the Princeton Competitive Programming group on codeforces here and click on "Join" on the right.

Log in to your codeforces account and follow these steps:

  • Decide whether you want to participate in the Division I, II or II contest. Please pick the one that suits you better, if you have never been to one of our past Princeton competitive programming sessions and have no or little experience in competitive programming, choose Division III, if you have been to a few of our sessions pick Division II, otherwise choose Division I. You are not allowed to change divisions after you pick one.
  • Go to our codeforces group page and click on "Register" next to the division you picked. You should see a "Spring 24 - Div. 1 - Week #2 - Hello Spring" for Division I, "Spring 24 - Div. 2 - Week #2 - Hello Spring" for Division II, "Spring 24 - Div. 3 - Week #2 - Hello Spring" for Division III

The contest starts at 5:20pm and ends at 7:20pm. Good luck!

During the contest

Once the contest starts, you will be redirected to the contest page (if that doesn't happen click on "Enter" next to the contest on the codeforces group page). Here are some things to keep in mind:

  • The problems are sorted by expected difficulty, so problem A is no harder than problem B, and B no harder than C, and so on.
  • To work on a problem first click on the problem and read the problem statement carefully. You will have to implement a solution in your favorite programming language (for example, you can use Java, C/C++, Python, Pascal and more) that reads some input from standard input and outputs something to standard output. The format of the input and output, as well as the restrictions on how large the input can be, are specified in the problem statement. You will also see some example inputs and expected outputs, that you should use to test your solution. When you think you have a solution, you can choose your language, upload your submission file and click on "submit". When you submit your program is ran with many different inputs (not just the example ones) and its output is compared to the expected one. If your program produces all the right outputs in the allotted time, then you will get an Accepted verdict, which means you have successfully solved the problem.
  • The problems are not original, they have showed up in other contests from around the world and were slightly modified. You shouldn't try to search for the original problem, since this would be cheating. You are also **not** allowed to use tools like github copilot or chatGPT.
  • The scoreboard ranks students by number of solved problems. To break ties, codeforces sums the number of minutes taken to solve each problem, plus 10 minutes per incorrect submission to an accepted problem, whoever has the least such number is ranked first.

If you have any questions before or during the contest ask Pedro (me), he (I) will be at the front of the room.