<aside> 👨🏾‍🍳 Written by Um_nik

</aside>

If you will have any questions regarding problemsetting on CodeChef, please contact @Um_nik in Telegram or @Um_nik#2061 in Discord. If the answer to your question can be found in these guides, I won't feel bad after ignoring you.

  1. Come up with an interesting problem that wasn't previously used. Probably the hardest step, but we can't really help there. You will need a lot of experience in participating in programming competitions, and first 10-100 problems you come up with probably will be bad. Some blogs you can take inspiration from:

  2. Send the problem proposal through the form. Read the guidelines on how to do that:

    How to propose problems on CodeChef

  3. You will get an email confirming that we have received your proposal, while Head Admin (now it is Um_nik) will get an email describing the proposal.

  4. Head Admin can then do one of two things:

    1. ❌ Reject the problem right away, in which case you will get email with the rejection, and the process for this problem stops. If you really think that Head Admin is wrong, you can Reply to All on the rejection email and explain why do you think they should reconsider.
    2. 🤔 Decide to discuss the problem with you, in which case you will get an email with a link to a Discord server and further steps. We will create a special channel on the Discord server for that problem, and you will get access to it. Please note that this doesn't mean that your problem is approved — it just means that the Head Admin wants to discuss the problem with you. Sometimes I can't understand anything from the proposal.

    Under normal circumstances one of these two things will happen in at most 3 working days after receiving the proposal. If you don't get a response in a week, you can Reply to All on the email confirming that we have received your proposal.

  5. In the private Discord channel, the Head Admin will discuss the problem with you, point out your mistakes (if any), and may suggest some changes or alternate solutions, possibly with better complexity, which will lead to changing limitations and/or difficulty.

    After the discussion the problem still can be rejected. Assuming that the problem is ✅ approved...

  6. The problem is in the waiting list now. By submitting the problem proposal you agree that if it is approved, we will be able use it in the contest we like.

  7. Once your problem is selected for a particular contest, you will be contacted, asked if the contest is convenient for you, and asked to prepare the problem.

  8. We will create a channel on Discord, where you will be able to interact with other setters for this contest, Contest Admin, Tester, Editorialist and Statement Verifier. Your main point of contact is the Contest Admin, they will supervise your job and you should ask them if you encounter any issues.

  9. Main parts of the problem include

    You have to prepare all of those.

    To use the problem in a CodeChef contest, it should be uploaded here. To get access to the problem setting dashboard, please notify Head Admin and fill this form. You can prepare everything locally and upload directly to CodeChef, but it is not recommended. We recommend to use Polygon for problem preparation, and after it is ready and approved by the Contest Admin, shift it to CodeChef. Guides on problem preparation will be added later.

  10. During the contest you should answer clarifications on your problem.

  11. After the contest you will be asked to provide bank details to receive your payment. The amount depends on problem difficulty, which is estimated by Head Admin and Contest Admin before the contest and may be corrected by Contest Admin after the contest.