KAN's blog

By KAN, 4 years ago, In English

As you probably know, most of the rounds on Codeforces are created by active community members. We are very grateful to our talented authors from all around the world for bringing their ideas to tens of thousands of competitors, providing fun and learning experience for contestants of every expertise, from beginners to the world's top programmers. This post will cover the steps you need to take propose a round and become a problem writer on Codeforces.

Who can be a problem author

Best problems usually come from the most experienced participants. We have limited resources for rounds reviewing, so to make the process flawless for writers, starting January 1st, 2021, the following requirements for problem authors will be applied:

  • rating: 2100 or above, or
  • was a writer in the past.

The restrictions may be updated in the future, the post will be updated accordingly. If your round is already in the review status, don't worry, it will be reviewed regardless of the current restrictions.

If you are an experienced writer/jury member in other competitions, please write any current coordinator (listed below) a private message about your wish to prepare a contest and describe your experience in this area.

How to propose a round

If you meet the requirements, you should have the link "propose a contest/problems" in the personal menu on the right sidebar. Click on the link and follow the instructions carefully. Prepare and submit your proposal for a contest and problems.

In some time you will have a coordinator(s) assigned to your contest proposal. They will review your problems and you will discuss the problems with them. Please be active, respond to coordinators' questions in time, make the proposed changes quickly. Codeforces coordinators are very experienced participants and reviewers. Please respect their opinion, and note that they have the highest priority in any decisions on the problems.

Our coordinators are: Aleks5d, errorgorn, irkstepanov, IgorI, Artyom123, 74TrAkToR, ScarletS, Akulyat, TheScrasse, 244mhq, satyam343, Vladithur, and KAN.

You can only propose a whole problemset for a Div 2 or Div 1 + Div 2 round. We don't consider single problems. Also, we don't consider proposals for Div 3/4 or Educational rounds.

How to prepare problems

Problems for Codeforces rounds are prepared in Polygon. It is not recommended to prepare problems before the coordinator's approval, especially if it's the first time you propose a contest.

For each problem you will need to write a clear statement (in English or Russian), code a validator (a program that checks tests' correctness), a checker if necessary (a program that checks output), and of course correct solution. Also, you will need to create tests to check the contestants' solutions on. Your coordinator will do the statement translation if necessary, check your work, and suggests what to change and add if needed.

Before you start working on problems, even if you have experience working with Polygon, you must read these rules. All the work with checkers, validators, interactors, and generators is done with testlib.h library, you can read the introduction by the link and download examples from Polygon. Whenever you have any troubles and/or difficulties, contact your coordinator for help. It is much faster to do something right from the first time, then to do it wrong and then redo it again.

Writers reward

It is interesting and challenging work to invent and prepare problems but is also time-consuming and demanding work. That's why we pay authors for preparing problems for Codeforces. The rewards are:

Round Type $*
Sponsored** $900
Div 1 + Div 2 $600
Div 2 $300

*If the reward can be paid in cryptocurrency, it might be increased by 25%.

**Sponsored rounds are selected by coordinators from available proposals.

Conclusions

We hope that with your help we will keep the regular stream of regular rounds full of fresh and interesting problems! If you have any questions on how to become a problem writer, ask in the comments. Please note that unrelated or outdated comments in this blog will be cleared once in a while to keep the blog and comments up-to-date.

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

| Write comment?
»
4 years ago, # |
  Vote: I like it +177 Vote: I do not like it

Unfortunately the current queue proposal is too long (several months, worse for div2 rounds), that's why we decided to make requirements more strict. I hope this will help us to catch up with the queue.

(Not included in the post, because, I hope, this status is temporary.)

  • »
    »
    5 weeks ago, # ^ |
      Vote: I like it +40 Vote: I do not like it

    Current status:

    • Div. 1: March 2024
    • Div. 2: July 2024
    • »
      »
      »
      12 days ago, # ^ |
        Vote: I like it +36 Vote: I do not like it

      Hi KAN, can you update the current queue please?

    • »
      »
      »
      9 days ago, # ^ |
        Vote: I like it +81 Vote: I do not like it

      Hi KAN,

      Our company is going to open the contest on the Codeforces. What are the steps to sponsor the contest?

    • »
      »
      »
      3 days ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      Hi KAN, can you update the current status please?

»
4 years ago, # |
  Vote: I like it +17 Vote: I do not like it

Excuse for my curiosity, but who decides whether the round will be Global? It seems that due to the double amount of remuneration, the authors will never object to the round being Global

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

    Coordinators select which rounds will be Global depending on the problems.

    • »
      »
      »
      4 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      In problem selection which difference actually makes a round global instead of div1+div2? Pardon me if i'm wrong anywhere.

»
4 years ago, # |
  Vote: I like it +39 Vote: I do not like it

How to be a Tester on these rounds?

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

    I'll make another post about that.

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

      Uh oh, our secrets will be leaked!

    • »
      »
      »
      5 months ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      You haven't made any such post yet. I also want to know how to be a tester.

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

        you don’t need a post, you only need five words: become friends with the authors

        • »
          »
          »
          »
          »
          5 months ago, # ^ |
            Vote: I like it -10 Vote: I do not like it

          But when I talked to authors they said that I should talk to coordinators because they choose the testers.

          • »
            »
            »
            »
            »
            »
            5 months ago, # ^ |
              Vote: I like it +10 Vote: I do not like it

            About me, I mostly choose testers randomly from the standings of recent rounds. If you are very active on Codeforces, you have more chances to be chosen.

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

    Write to familiar author contest

  • »
    »
    4 years ago, # ^ |
    Rev. 2   Vote: I like it +68 Vote: I do not like it

    On gunpoint, ask your friends to become setter.

»
4 years ago, # |
  Vote: I like it +10 Vote: I do not like it

What if there are multiple writers? Is the payment divided among them?

  • »
    »
    4 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Codeforces accepts complete contest only. Coordinator never combines different problems from different people to form a contest.
    Whenever you see multiple setters they are friends and they propose contest together. Hence they themself decide the share of individuals involved instead of codeforces team.

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

      This is true in general, but there are exceptions. That's true that we only consider problems proposals as a part of a complete problemset, because it is easier to work with. In case a round has many authors who know each other, they are to split the reward.

      However, sometimes we do mix independent authors, for example to fill a gap in another round. Mostly spare problems from previous/upcoming rounds are used for that. In this case we split the reward according to problem level and the amount of work done by each author.

»
4 years ago, # |
Rev. 2   Vote: I like it +33 Vote: I do not like it

Will there be another section (or possibly a separate blog post) on how to write editorials? It might be beneficial to propose/standardise some rules on the same as I've seen numerous editorials which were really poor, really good and in between (though the quality in general has definitely been improving with time, so it may not be necessary).

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

    At this time I don't see any good way to standardise any rules for writing editorials. This is actually the same with statements: while we have this huge set of rules, they only work if the writer has a feeling of good statements, and just needs some technical guiding. In many rounds it is coordinator/tester who rewrites 50% of statements to make them clear, and even after that they are not always ideal.

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

      There should be some suggested way of providing solutions, with proper explanations and good code style. A linter could be used to make sure solutions are written well. There are many ideas to improve edutorials, and if you are paying money for the problems, solutions should have a high quality too. Many times I struggled to understand the solution and it was easier to solve the problem myself, and sometimes even after that I could not understand what the author meant. And if it is not good, there should be a way to improve it, like testers improve statements.

      I have written a blog about some ideas

»
4 years ago, # |
  Vote: I like it +37 Vote: I do not like it

If there are multiple writers, is it necessary for all of them to be orange or above?

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

    No, at least one of them should be orange or above.

»
4 years ago, # |
  Vote: I like it +47 Vote: I do not like it

Max rating is orange or orange by the time of proposal?

  • »
    »
    4 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    You must satisfy the requirements at the time you submit the proposal. You will still be able to work with it if you lose your rating though.

    • »
      »
      »
      4 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      If I'm writing some problems but I'm not done with all of them and the contest is not ready to be reviewed, but I lose my rating, will I still be able to make more problems and submit the proposal? I'm worried that if I participate in a Div. 1 Round, I'll lose problem setting privileges.

»
4 years ago, # |
  Vote: I like it +48 Vote: I do not like it

If the proposal does not have the required quality will you inform the writer or just ignore the proposal?

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

    We will provide feedback for each problem.

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

      I cannot find the propose a contest/problems tab in my personal menu on the right sidebar.

    • »
      »
      »
      2 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      What if I want to make a small contest for my friends in college not more than that ?

»
2 years ago, # |
  Vote: I like it 0 Vote: I do not like it

We don't consider single problems. I think that should be reconsidered. I would like to contribute.

  • »
    »
    2 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    I think that's mostly because of limited resources, but you can always try to team up with other users or accumulate enough problems to make a full contest

»
22 months ago, # |
  Vote: I like it +13 Vote: I do not like it

I'm curious about whether problemsetters can decide their contest to be a Div1+Div2(Combined) like contest 1774, or a Div1+Div2(Separated) like contests 1753+1754. Or will coordinator give suggestion on this?

»
8 months ago, # |
  Vote: I like it 0 Vote: I do not like it

what about div-3 and div-4 ?

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

    These (as well as Educational) rounds are prepared by other means (mostly by a fixed set of setters). We don't have an open system for that.

»
6 days ago, # |
  Vote: I like it +9 Vote: I do not like it

Hi KAN, can you update the current status please?