kuviman's blog

By kuviman, 4 weeks ago, translation, In English,


There were a couple of times when people had issues with submitting their solutions during a contest. The form is not updating, the code is not being submitted.

Unfortunately, we could not reproduce the situation. If you have troubles submitting code, and the problem persist (especially if it happens in problemset), please contact us.


Read more »

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

By kuviman, 3 months ago, translation, In English,


We have organized information about cities and countries. Before users could add this information themselves, which led to duplicates, incorrect names, grammatical mistakes, etc. I parsed geodata, taking cities with population of 500+ people. It turned out there are more than 120,000 such ones. In addition, searching for cities has been improved — supported search by historical, national and other names.

Thus, duplicates of cities were merged and random garbage was deleted.

If for some reason your city has been inappropriately removed from the profile, try to set it again. If you can not find your city in the list, let me know about this and it will be added.


Read more »

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

By kuviman, 5 months ago, translation, In English,

Hello everyone!

It looks like there are a lot of Facebook users on Codeforces. But they could not easily authorize with their Facebook account until now. Well, now they can!

You can connect your Codeforces account with your Facebook account on profile settings page:

Just click the connect/update button, allow Codeforces to have access and save settings.

Besides that method, you can also connect your accounts while authorizing — if your Facebook account is not yet connected, you will be asked to either create a new account or to connect it with existing one.

To connect with an existing account you will need to log in using already known method.

Read more »

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

By kuviman, 9 months ago, translation, In English,

Hey everyone!

Good news — Russian AI Cup 2016 has started! This competition is being held for the fifth time, and this time, hopefully, we will make happy all the fans of the MOBA game genre — you will be controlling a wizard, and together with 4 teammates you will try to destroy enemy base with magic and help of minions.

Try yourself in creating an artificial intelligence, it's simple and fun. Go to Russian AI Cup site and enter the battle. Good luck!

What is it?

Russian AI Cup — largest annual artificial intelligence programming contest in Russia, and third open competition for talented IT-specialists that is part of Mail.Ru Group strategy of forming and developing competitive Russian IT-industry on a global scale.

Following programming languages are supported: C++, C#, Java, Pascal, Python 2, Python 3 и Ruby. Anyway, as previously, we are ready to support language packages, realized by the community.

We welcome both beginners and professionals to the championship. No special skills are needed, just basic programming level is enough.


  • Sandbox: open for everyone starting on November 6, 21:00 UTC and finishing on December 25, 21:00 UTC; first and fourth weeks will be beta-testing weeks, this time it is possible that the system is unstable, and significant changes in the rules can be made. Rating in the Sandbox will be reset on November 13 at 21:00;
  • Round 1: November 25, 21:00 UTC — November 27, 21:00 UTC;
  • Round 2: December 9, 21:00 UTC — December 11, 21:00 UTC;
  • Finals: December 16, 21:00 UTC — December 18, 21:00 UTC.


Best strategies that made it to the Finals and took top places, as well as best wizards from the Sandbox, will receive prizes. Also, all participants of Round 2 will receive a T-shirt, and all finalists — a hoodie with contest symbolics.  Prizes

Read more »

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

By kuviman, 17 months ago, translation, In English,

Hello everyone!

Sharing your training contest/mashup became even easier! If you want to participate in a training together with some users, all you need to do is to send invitations to them.

Do do that you have to be training creator or manager. When you enter the contest, you can see button for managing invitations in the sidebar:

Clicking on the button sends you to the page where you can invite/cancel invitations to the contest.

If you invite users to a contest, it will become available to them regardless of contest visibility.

Good luck in training! :)

Read more »

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

By kuviman, history, 20 months ago, translation, In English,

Hello everyone!

Up to this day Codeforces showed local server time everywhere, and programmers all around the world knew exactly what 19:35 Moscow time corresponds to in their time zone. Now it will be much harder for you to make a mistake and skip another round, since you are going to see time in your time zone.

This is what a usual London programmer sees waiting for Codeforces Round #337 (Div. 2):

The problem was not that easy to implement, since many parts of the site are heavily cached, and we had to manipulate time directly in browser using JavaScript.

Thanks for your attention, good luck to all at the next round!

Read more »

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

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

Hello everyone!

Not so long ago summer trainings finished in Saratov State University, and to make it easier to monitor the success of our programmers we introduced a feature to add custom ratings. Now you also have this opportunity!

Currently rating is calculated as follows: overall rating is equal to the arithmetic mean of the ratings for each contest in which the user has participated. Contest rating depends on the ratio of problems solved by user and a number of problems solved by winner, as well as user's place in the contest. Also points for upsolving are added to the contest rating. There is a rumor that such method of calculating rating first was used in ITMO. More formally:


  • R — contest rating,
  • n — maximum of 50 and number of contest participants,
  • place — 1-indexed used's place in the contest,
  • solved — number of solved problems by the user,
  • maxSolved — number of solved problems by the winner,
  • upsolved — number of upsolved problems by the user,
  • problemCount — total number of problems in the contest.

If a user participated in a team, his place equals to the place of the team in this contest.

To create a custom rating in the group you have to be its manager. There can be multiple ratings in one group with different sets of contests. There is a special button to create a rating in the group sidebar:

If you press the button rating creation form will appear:

Users are added to the rating only if they have participated at least in the given percent of all contests of this rating. By default one have to participate in 50% of all the contests.

If you wish you can set rating freeze date: upsolving after that date will not affect the rating.

Also now you can view status in groups: it shows only submissions for the group contests.

Good luck with training in Codeforces groups!

Read more »

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

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


Codeforces never sleeps, and I am going to tell you about our recent updates which weren't announced yet.


  • testlib moved to GitHub, and the version 0.9.9 with C++11 support has been released.


  • Added basic support for test groups. Now you can specify group for each test, run invocations by test groups, and you can view summary for each group on the invocation page. If group is specified for a test, it will be added to the problem descriptor (i. e. <test cmd="gen 1 2" group="testGroup" method="generated"/>).
  • You can now view problem statements and validator for a problem/contest on the same page. This makes finding mistakes in translations and in validator much easier (before you had to open them on separate tabs and switch between them, which is not comfortable). On the problem statements page the "Review" link has been added:

    On the contest page the corresponding link appears in the sidebar:


  • Missing an announcement during contest is now even harder — messages additionally are showed using Notification API.
  • Fixed a bug in API: in contest.hacks method defender and hacker were confused.
  • Fixed a bug about status filter reset. This was happening sometimes when request went to another Codeforces server.
  • Fixed a bug about local storage overflow. If you had a problem with local storage overflow, you had to run localStorage.clear(); in browser console. Now Codeforces uses local storage more carefully.
  • Syntax is now highlighted when you are hacking:
  • Invisible characters are now shown when you view a submission. Before it was confusing why you get WA:
Before Now
  • You don't have to upload images to a third-party site anymore, you can do it while editing a topic. Right under the topic content you can select one or more images, for each of them there will be a link generated which you can use to insert it into the text:
  • Improved topic categorization, for example soon you will not have to search for Codeforces important materials (documentation, rules, etc.) in blogs, they will be structured and available on a special page.
  • Implemented a feature to add rights to edit the topic to a list of users. For now this opportunity will be available for reputable users, who will be able to edit topics with documentation, tutorials and similar materials themselves.
  • Improved testing for determinism of generators: we remind you that generators have to be written so that they produce the same input each time, this is tested more reliably now. Do not initialize random number generators with current time!
  • Implemented a feature to view revision history for a topic. History may be available either to all users or only to the editors. By default new topics will have history available to everyone. If you enable viewing history, then you will be able to publish auto comment when you have edited the topic, which will have links to the previous version, new version and the link to compare them.
  • Now users which didn't take part in rated events for more than 6 months are hidden in the ratings pages. Also they do not affect a country/city/organization ratings.

And this is not all! Expect more improvements soon, for example we work on rating inflation problem and lots of other things.

Read more »

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