Guideline for Problem Setter

The Problem Setter is responsible for preparing two contests relevant to the subjects of the corresponding week: online and on-site.


Online Contest Details:

  • This contest should contain about 10 problems.

    • Desired distribution of the problems by difficulties:

      • 2 easy problems

      • 3 medium problems

      • 3 hard problems

      • 2 advanced problems

  • This contest will be active for a week after the lecture day.


On-site Contest Details:

  • This contest should contain at least 5 problems.

    • Desired distribution of the problems by difficulties:

      • 1 easy problem

      • 2 medium problems

      • 1 hard problem

      • 1 advanced problem

  • Only on-site participants can attend it.

  • After the contest, Problem Setter will make a short editorial session in class.


Suggested Steps for Selecting Problems:  

  • First, reach out to the Editor (document writer), and get access to all of the necessary details of the lecture contents.

  • Determine problem categories and difficulties, and ask for a review for them.

  • After the reviews are done, start selecting problems.

    • You can use some popular websites such like hackerrank, codeforces, but less known problems are preferred.

    • Please be sure that the problems were not asked before.

    • If you have difficulty finding problems, you can ask the reviewer or the editor for help.

    • It is better to choose problems which have test cases, otherwise you may have to write a test case generator. If you will prepare your own test cases you should consider:

      • Edge cases(like chain and balanced trees)

      • Limit cases(according the problem constraints, some hard test cases should be added)

      • Checking the test cases with another person's code(you can ask the reviewer or use the same source as you found the problem if it is on the internet) in order to avoid mistakes.

      • Checking the test cases with a brute-force or weak solution in order to check strength of test cases.

  • Next, you can send the selected problems to review.

  • After the problems are selected, and the reviewer confirms them:

    • create a contest named “inzva-week-#X-bundle_name-year” in hackerrank

    • do not forget to add the starting and ending date & time.

    • create problems and add them to the contest.

    • make sure that all test cases are correct.

  • Send the contest page to the last review, and share it in the related discord channel. You can use the contest landing page template.


Additional Notes:

  • Problem Setter must consider the recommendations given by the Reviewer, and make the necessary arrangements.

Application period ended at September 22.