geranazavr555's blog

By geranazavr555, 3 months ago, In English

The Codeforces team is constantly improving both the software and the hardware parts of the system to make the platform more stable and your time on it comfortable.

However, some types of work can not be carried out without downtime. On February 26, extensive server maintenance is planned, so Codeforces and Polygon may work intermittently from 9:00 UTC to 15:00 UTC. We will try to make the downtime as short as possible, but we cannot completely get rid of it.

We apologize for any potential inconvenience.

Full text and comments »

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

By geranazavr555, 14 months ago, In English


The most problems on Codeforces are "classic input-output" problems in which you have to write an entire program: read the input and write the answer. Also, there are "interactive" problems in which you have to interact with a jury's program. But Codeforces supports some other types of problems: problems with graders and output-only problems.

You can test an output-only problem and a problem with grader in this mashup.

Problems with graders

In such problems, you (a participant) have to implement not the entire program but only some interface or function described in the problem's statement. For example. you may be asked to implement function f(a: int, b: int, c: int) -> int in Python or int f(int a, int b, int c) in C++. Only Python and C++ are supported for now for such problems.

For problem writers: read this post and this post to learn how to create a problem with a grader. The example problem with a grader is already shared with all Polygon users.

Output-only problems

In such problems, you (participant) have to send only a zip-file with outputs on each test (or only on a subset of tests). The structure of the zip file must be following:
|- 01.out
|- 02.out
|- 03.out

I.e. zip-file must contain text files with the outputs named like <2-digits-test-index>.out.

Commonly, each problem could be marked as output-only, but it's recommended to publish tests using the "Problem materials" section in Polygon (see this post to learn more).

Full text and comments »

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

By geranazavr555, 15 months ago, translation, In English

Hello, Codeforces.

In this post, I'll share with you a few recent improvements in Polygon made by MikeMirzayanov, unreal.eugene, DK318 and me.

Polygon is a service to prepares programming problems and contests. It is usually used to prepare problems for olympiads/programming contests but it is also often used to prepare educational content. It is located at and is open to everybody.

Here are three recent new features:

  • IOI-like Graders for Python
  • Problem Materials
  • User Groups

Full text and comments »

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

By geranazavr555, history, 2 years ago, translation, In English

For example, tourist, you can find it on his profile page:


Full text and comments »

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

By geranazavr555, history, 2 years ago, translation, In English

Hello everyone!

The Codeforces team is working hard every day to improve the platform. Here's a quick overview of the latest innovations.

Mashups deletion

Until recently, there was no way on Codeforces to completely remove mashups you created. They stayed "hanging" in the interface and could get in the way if there were a lot of them.

Now you can delete the mashups you created. To do this, go to the edit page:

Edit page

At the bottom of the page there will be a delete button:

Delete button

Deleting a mashup is reversible, meaning you can restore it if necessary. You can view deleted mashups by clicking on the link below the table with mashups.

Other innovations

  • Added filter by contest format (IOI or ICPC) in mashups and gyms.
  • Compiler versions updated: Python 2 up to 2.7.18, Python 3 up to 3.9.1, Ruby up to 3.0.0, Go up to 1.15.6, Rust up to 1.49.0.
  • Now you can hide streams from the calendar.
  • The page with the list of user's contests now shows when the contest started.
  • The group invites page now shows who invited you.
  • Now you can massively change problem indices in mashups. Previously, to renumber problems in the mashup, you had to edit each task separately.

Full text and comments »

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

By geranazavr555, history, 3 years ago, translation, In English

Hello everyone!

Today Codeforces got support for streams! Thanks tourist for the great idea!

There are two popular platforms supported: Twitch and YouTube. The opportunity to add streams to Codeforces is open to red participants and by individual invitations for now. We possibly open this opportunity to more users later.

The idea is that streamers will be able to announce their streams to the Codeforces audience. To do this, you should add the stream to the site using a special section in your profile. Please, note that when adding a Twitch stream, you just need to specify the URL of your channel, and when adding a YouTube broadcast, its unique short link (URL like

Shortly before the start of the stream, a notification about the upcoming stream will appear in the sidebar on the right, which will be shown to all site visitors.

For example, right now there is a Errichto's stream announcement in the sidebar.

Streams in sidebar

We have embed stream viewing right into the Codeforces interface. It turned out to be difficult to embed the YouTube stream chat, so there is no such opportunity for now. For Twitch streams, the chat will be visible on Codeforces.

We plan to improve this functionality in the future. What improvements do you think would be reasonable?

Full text and comments »

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

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

Full text and comments »

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

By geranazavr555, 4 years ago, translation, In English

Hello, Codeforces!

We are glad to invite you to take part in Codeforces Round 568 (Div. 2), which will be held on Jun/19/2019 17:45 (Moscow time). The round will consist of 7 problems (possibly, plus subproblems). It will be rated for Div. 2 participants.

We, geranazavr555 and cannor147, are students of ITMO University. And we have recently joined the developers team of Codeforces and Polygon. We have prepared this round for more careful acquaintance with the system. We hope that you will enjoy the competition.

Initially, we had prepared the round for Div. 3, but after testing, it became clear that this round is harder than usual such rounds. MikeMirzayanov suggested to make this to be rated for the second division.

Many thanks to MikeMirzayanov for the tremendous work on the creation and development of Codeforces and Polygon and coordinating our work. Also, special thanks to Vshining, awoo, nooinenoojno, vovuh, Lewin, Dave11ar, T-D-K and Azat_Yusupov for testing the round.

Good luck!


The scoring distribution will be: 500 — 1000 — (1000 + 750) — 2000 — 2250 — 2750 — (2750 + 750). The round will last 2 hours and 15 minutes.


Congratulations to the winners:

  1. 2om_neek

  2. m1sch3f

  3. AreEduRoundsEducational

  4. ashutosh450



Editorials are available here.

Full text and comments »

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