geranazavr555's blog

By geranazavr555, 4 years ago, translation, In English

Hello, Codeforces!

I and cannor147, as students of ITMO University, joined the Codeforces team in June. From June to October, we mainly dealt with the development of the Polygon platform. In this post, we would like to present to you a list of what we have done during this time. This list does not include minor bug fixes or any improvements that are invisible to users.

PIN codes for problems and contests

Sometimes very important contests and problems are being developed in Polygon. In such cases, a leader of the jury may be worried about data leaking. For example, it can be so because of the weak password of another member of the jury. PIN code is an additional factor of confirmation the access for the problem or contest and it can be set up only by the owner. It is assumed that the PIN code will be sent in another secure way.

There is a link Create Pin for the owners in the contest interface:

Create Pin in the interface

The form of the PIN code creation

If a contest or a problem has the PIN code, you need to type it before continuing.

The input form for the PIN code

You can manage the PIN code of the problem in the tab Manage Access in the problem interface. The owner can create the PIN code or copy the PIN code from a contest that contains the problem.

Managing of the PIN code for problems

If you use Polygon API, there is a way to send requests for working with problems or contests, that have the PIN code. You have to provide a new additional parameter “pin” in your requests.

Groups of contests

Polygon grows up and the number of contests in Polygon grows up too. Sometimes you want to group some contests. For example, it seems convenient to group contests from the same programming workshop. Now in Polygon you can group some contests for faster management of the access rights for them.

Group of contests

Search by contests

The search by contests was added on the page Search.

Search by contests

A problem in several contests

Sometimes several contests have one problem, for example, if it is an educational problem. The attempt to commit changes for such problems resulted in updating a modification time for all its contests. Sometimes it seemed inconvenient because all its contests were at the top. Now you can choose contests that will change their modification time after committing changes to their problem. So, old contests won’t be on the top in the Contests Page.

Choosing a contest while committing

Contest Statement Builder

Sometimes you want to see prepared statements for all problems in the contests in one pdf file. If the problems have different and languages or some statements aren’t prepared yet, it was hard to build it. Now you can do it thanks for Advanced statements building in the contest interface.

Contest Statement Builder

Attaching files to contests

There is a new section Attachments in the Properties/Files page for the contests. You can save some files, which are connected to the whole contest here. For example, you can save the tutorial for the contest,unfreeze visualizer or memes.

Files in the contests

Management of receiving emails for contests

After pressing a pencil icon you can enable or disable receiving notification emails about changes in the current contest.



Issue updates

Many improvements to issues support were made. Added the ability to view all contest issues by clicking on Issues from the contest interface.

The issue header displays more information now.


When changing an issue status, type or assigned user, an auto-comment is now generated (for example, [changed status to CLOSED]). There is no longer any need to write tedious "Fixed" on each issue when closing multiple ones.

View my issues

It became possible to view all issues related to the current user. To do this, click on My Issues at the top of any Polygon page.

My Issues

Also, it became possible to view my issues in all available contests and tasks.

Resource advanced properties

Support for resource advanced properties (graders) has been improved. Now you can add files to the checker's and interactor's execution directory at runtime.

Advanced properties

Solution notes

You can attach additional information on the solution by clicking on Note in the solutions list.

Solution notes

Even fewer mistakes when preparing problems!

Now Polygon checks that variable names are passed in read*s (readInts, readDoubles, ...) testlib methods in the validator, and if it is not the case, you will be shown a warning.

Improved statement warnings. For example, if the condition does not contain examples or the name of the task, Polygon warns you about this. It has also become harder to get confused with the quotation marks choice in the conditions (remember that in Russian and English different types of quotation marks are traditionally used).

Polygon API improvements

Added methods:

  • problem.statementResources — view the statement resources list (for example, images in statements)
  • problem.saveStatementResource — add or change a single statement resource.

Added the PIN code checking in the "pin" parameter for access to tasks and contests if it was set. This parameter must be added to all methods and requests.

You can find the full description of Polygon API here.

Other updates

  • The ability to add a test to the problem statement by clicking on the Example link directly from the list of tests without editing it.
  • When creating a statement or a tutorial in a new language, it’s possible now to copy them from existing ones.
  • Now you can copy tests of the checker and validator with their subsequent modification on the corresponding pages.
  • Added email confirmation when registering in Polygon.
  • Now, in the Review tab, you can also see the interactor's code if the problem is interactive.
  • Now you can run all stress tests by clicking on the Run All Stresses link.
  • Vote: I like it
  • +739
  • Vote: I do not like it

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

I think you should make a video to reviews and upload on youtube.

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

Polygon is the best thing ever.

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

That sounds good.

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

I don't know where to say this. So, I am writing this here. MikeMirzayanov the close button on the popup window for viewing submissions in the status seems to be broken. I tried it with a different browswer as well but it's the same problem there too.


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

    same here, but i have a hyperlink that says "close" next to the broken image as well.

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

      I got this "close" thing when trying cf in chrome.

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

Sounds great! One more thing left for Polygon to be perfect is to support resolving conflicts. (maybe supporting git is a solution?)

4 years ago, # |
  Vote: I like it -38 Vote: I do not like it

Polygon orz

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

yahia I think you will like this

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


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

How can I delete script tests? I try to search but I only get an answer: "You can't delete using web-interface, you must use script instead". Can someone explain me how to do that?

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

    You have a script in the bottom of the tests page. To delete a generated test, you should remove appropriate line in your script.