MikeMirzayanov's blog

By MikeMirzayanov, 14 years ago, translation, In English

The coding phase has been finished. Please wait for the final testing and results.

Good day everybody.

Everything written below is not a April Fool's joke. Though it is also a funny occasion :)

We are glad to announce a new experimental contest on Codeforces, "Problem Parser Contest".

Have you ever made training sessions, using the previous contests' archives? Have you downloaded from the Internet contest archives to test for your solutions locally? If the answer is 'yes', then you couldn't help noticing that each organizer insists upon inventing his own way (format) to distribute problems. Yes, it is true!

I've prepared and organized a huge number of trainings based on the previous contests. It is often rather a monotonous task; one often has to write some scripts that rename the input/output files of the problem into the standard form. In archives they are called very differently: they can be river.in.1, river.out.1, river.in.2, river.out.2, etc. In another problem they can be tests/1.dat, tests/1.ans, tests/2.dat, tests/2.ans etc.

At some point I got fed up with it and wrote a script that told the patterns of paths to the test files, using some heuristics and the regularity I'd noticed. The script worked well, but it wasn't perfect.

Full text and comments »

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

By MikeMirzayanov, 14 years ago, translation, In English

Unusual tournament Manthan 2011 showed the weaknesses of the current rating formulas. After the end of contest the winner of the competition tourist has expected rating change equal to "-1":)

This has arisen due to reduction of the calculated changes in such a way, that total sum is equal to 0. That is, Gennady was in some pros before such changes, but as the sum of all the changes turned out to be positive, then all the ratings were a little reduced. As a quick dirty hack in the round I turned off this feature, leading to a one-time inflation. Even a small mistake: I noticed that participants in the second division get too many points after a good performance on "Div. 2 Only" rounds.

Full text and comments »

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

By MikeMirzayanov, 14 years ago, translation, In English

Last night I don’t want to sleep, so – I was working. I reread my old post "Contribution 2.0" (in Russian) and decided to implement some ideas. Taking into account the comments that everyone (no matter the color nor the position in the contribution) has the right to express their opinions in the form of pluses or minuses, I did not restrict users the opportunity to express opinion.

On the other hand, the rules of contribution changing depending on your votes have modified. Since we have already appeared bots, trolls and other vermin, I will not reveal details, but note that:

  • Contribution may change after some time after the processing of your vote - it is normal.
  • Not all your votes may be taken into account when calculating the contribution changing - this is also normal, we will defend ourselves from dirty tricks.
  • contribution slightly scaled - the numbers got bigger. Maybe it's nicer?

Just want to say that the bots usage, following the principles of "blood feuds," etc. serve as a reason for your disqualification. Do not tempt fate.

Soon, the problems coordinator, the user RAD will leave official lists of both contributions and rated, as he is active member of the Codeforces team.

I wish you high contribution
MikeMirzayanov

Full text and comments »

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

By MikeMirzayanov, 14 years ago, translation, In English
After analyzing the Division 2 rounds results and the difficulty of the problems, we decided to expand it Division 2 and to include the "blue" participants. Thus, the second division will consist of members with a rating from 0 to 1649. 

This is primarily due to the fact that I think the problems from the second division rounds are interesting and useful to the "blue" participants. At these competitions, we often give training problems on common themes of sports programming.  In addition, it is seen that in order to be blue enough to solve 1-2 problems on the first division competitions. This leads to the fact that such members do not increase their skills. 

Note that we are considering the possibility to divide "yellow" the participants into two colors, since this group is very huge and contains members of widely differing skills and abilities. 

UPD. The yellow group was separated into two groups: violet and orange. It is testing period now, some more changes are possible. Rating graphs will be updated tomorrow.

Wish high ratings,
MikeMirzayanov

Full text and comments »

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

By MikeMirzayanov, 14 years ago, In English

We are delighted to inform you that Codeforces has collaborated with CodeFest'11, the annual international online coding festival of Computer Engineering Society, IT-BHU. CodeFest is a unique fest wherein concepts of mathematics, logic, artificial intelligence, algorithms, language syntax, etc. are required to be deployed in programming; these concepts manifest themselves in solving problems effectively and efficiently!

Codeforces is the programming partner of CodeFest'11. In fact, Manthan:, which is the algorithm intensive programming contest being organised by CodeFest will be hosted on Codeforces.

Here is a brief description of the constituent ongoing and upcoming online events: Visit website for more details.

More than 2500 programmers from 59 countries have already registered for CodeFest'11. Come and be a part of the biggest coding extravaganza in Asia.

Feel free to contact us at [email protected] or reach us personally at:

We wish you all the best for CodeFest'11 and for your future endeavours.

Be free and Happy coding,
CodeFest and Codeforces team

Full text and comments »

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

By MikeMirzayanov, 14 years ago, translation, In English
This is the list of frequently asked questions concerning Codeforces work and answers to them.
  1. What is Codeforces? What kind of a site/resource is it?
  2. What should I do to participate in contests? Is preliminary registration required?
  3. What are the rules of the contests?
  4. What languages can I use to solve problems here? Are there any problem solving examples?
  5. I would like to organize a Codeforces round with my problems. What should I do to achieve that? Are the authors entitled to get any reward?
  6. What other rules are on Codeforces?
  7. Which technical details are useful to know about the Codeforces' testing system?
  8. What are the rating and the divisions?
  9. What is contribution?
  10. What blog posts are useful to take a look at?
  11. I've noticed that the site contains the solutions of all the contestants and the previous contests' tests. How is it allowed to use them?

Questions and answers:

  1. What is Codeforces? What kind of a site/resource is it?
    Codeforces is a project joining people interested in and taking part in programming contests. On one hand, Codeforces is a social network dedicated to programming and programming contests. On the other hand, it is a platform where contests are held regularly, the participant's skills are reflected by their rating and the former contests can be used to prepare. Codeforces constantly develops and we plan to improve the platform to give the participants the opportunity to organize their own contests, filling the project with learning content, developing Codeforces as a training and learning platform.
  2. What should I do to participate in contests? Is preliminary registration required?
    Contests are regularly held on Codeforces. Participating in them is free and open to everybody. Every month we organize approximately six contests. To participate, you have to be registered on the site (if you have an OpenID or a Gmail account, then you won't even have to memorize the password) and register for the oncoming contest. Make sure that you are present in the list of the users, registered for the contest, before the registration ends. Usually, if you can't take part in the contest officially (e.g. if it's the contest for the second division and you are in the first one), then you can register for the contest to participate out of competition.
  3. What are the rules of the contests?
    They are usually held according to the original Codeforces rules. If it is specially stated, then the International Collegiate Programming Contest rules ACM-ICPC or some other modifications can be used. In brief, on the contests held by Codeforces rules you write solutions to the problems that are tested during the contest on a very small number of tests. Those who have passed that set of solution tests, their authors can block (refuse to resend the solutions of this task in future even if they find a mistake). Such authors receive the opportunity to look through the sources of other contestants, look for mistakes there and suggest the tests on which these solutions do not work. Thus, you can hack somebody else's solution and earn points through it.
    After the contest all the solutions that have passed the pretests and haven't been hacked are tested on the final set of tests. The value of a task decreases during the contest (the faster you solve the problem, the more points you receive), unsuccessful hacks take off the points and the successful ones add them. Please take a look at the detailed version of the rules before participating in the contest.
  4. What languages can I use to solve problems here? Are there any problem solving examples?
  5. I would like to organize a Codeforces round with my problems. What should I do to achieve that? Are the authors entitled to get any reward?
    Do you want to organize a round? That's great! We are very pleased to hear that. Please, read the post.
  6. What other rules are on Codeforces?
    We don't have a clear Great Codeforces Code of Conduct. However, of course, here you should behave in accordance with traditional rules of behavior in public places and theme groups. The following rules are, of course, necessary to follow:
    • Don't create more than one account, if you have forgotten the password, use the password reminding system.
    • Do not use harsh, rude or misleading handle.
    • Do not use anybody photo except yours. It is uncultured and could confuse Codeforces users.
    • Don't be rude, don't insult other participants and administration, try to be polite and pleasant to communicate with.
    • When you take part in individual contests, don't talk about the problems with other contestants, don't use somebody else's code or insert it into your solutions. If the contest is a team one, discuss the tasks only with the teammates.
    • Don't try to destabilize the site's and the checking system's work. Your programs should only interact with the console (for the problems with the standard input and output) or the input and output data files.
    • Don't publish or spread your solutions and solution ideas during the contest.
  7. Which technical details are useful to know about the Codeforces' testing system?
    The Codeforces system resembles classical Online Judges. The solutions are tested on the tests prepared beforehand (or the hacks suggested by other participants). As a result, you receive verdicts, the meaning of which is clear from the title. It should be specially noted that Codeforces does not have the "Presentation Error" verdict, this situation is regarded as "Wrong Answer". All the suspicious verdicts (testing error etc.) are not considered while evaluating the results. That is also true for the solutions that had fallen on test 1 (in the problems containing more than one test).
  8. What are the rating and the divisions?
    When the contesters take part in Codeforces contest, they raise or lower their rating that reflects their ability to solve the tasks. The rating is a modification of Elo rating, several details can be read in a fuller form. According to the rating, the contestants are split into two divisions: the second one (the weaker one, amateurs) and the first one (the stronger one, pros). The contestants who don't take part in contests and those whose rating is below 1900 belong to the second division. The 1900+ rating means that you're part of the first division. Usually two types of contests are held on Codeforces: for the second division contestants (the first division contestants can take part there out of competition) and for both divisions. The first contest type contains simpler and learning-oriented tasks.
  9. What is contribution?
    The votes for the posts and comments of a user change his/her contribution. The contribution is intended to show the usefulness of the community user. The contribution counting system is imperfect; in future the rules for its calculation will be changed.
  10. What blog posts are useful to take a look at?
  11. I've noticed that the site contains the solutions of all the contestants and the previous contests' tests. How is it allowed to use them?
    In fact, we publish materials from the past contests and they can be used, for example, for individual lessons. Using the materials on other Online Judges, public contests, etc. is prohibited. Be sure to
    read the license before using the materials.
    In order to view someone else's solution, just click on his id on the page "Status". From the page with the list of tasks you can go to the list of correct decisions for the given task. At the bottom of the "Status" pages (and others with the lists of decisions) there is an option of sorting the solutions on different criteria.

Full text and comments »

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

By MikeMirzayanov, 14 years ago, translation, In English
Hello!

The pilot Unknown Language Round #1 will take place soon (Monday, 21 February). It will be the usual ACM-ICPC unrated contest. The only feature - you will be able to submit problems using the only one, not very popular language. What? It's a secret!

MikeMirzayanov

UPD: The language annoncement will be available about 5 minutes before the contest.

The contest language is Tcl. Tcl (originally from "Tool Command Language", but conventionally rendered as "Tcl" rather than "TCL"; pronounced as "tickle" or "tee-see-ell") is a scripting language created by John Ousterhout (from Wikipedia article). Here is the sample program which reads and writes a single integer number:
 set line [gets stdin]<br> scan $line "%d" n<br> puts $n 
You may use "Custom Test" feature (see contest user interface) to run your programs.

UPD: The contest is over: final standings link. Do you like the contest?

Full text and comments »

Announcement of Unknown Language Round 1
  • Vote: I like it
  • +81
  • Vote: I do not like it

By MikeMirzayanov, 14 years ago, translation, In English

Hello!

This contest has been prepared by Artem Rakhov and other participants of Petrozavodsk Training Camp from Saratov State University. We stopped solving problems of the camp, missed the lecture by Vitaly Goldstein (do not be angry, Vitaly), but the round has been prepared and we are waiting for you - the participants.

Happy hacking,
MikeMirzayanov and team Codeforces

UPD:

Full text and comments »

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

By MikeMirzayanov, 14 years ago, translation, In English

The year 2010 is over and of course, we are all ready not only to meet the Old Style New Year, which is a Russian national holiday. We are also ready to learn the names of those awarded by the Cormen Medal in 2010.

First, nomination "The Best 2010 Secondary School Contest Participant". And the winner is... (drum-roll) Gennady Korotkevich. He took part in 5 out of 6 WPS (Winter Programming School) Olympiads organized by the Codeforces and won each of them! He participated individually in the team contest, but nevertheless got ahead of all the contestants.

The Cormen Medal in &quot;The Best 2010 Participant" nomination gets... Gennady Korotkevich! Over the previous year Gennady participated in 15 Codeforces rounds and won 5 of them. He also was among the five leaders in 9 rounds. The phenomenal success may be due to the fact that Gennady studies in the 10th grade. Bravo, tourist! Codeforces wishes Gennady to have new victories and achievements!

In the nomination "The Best 2010 Problemsetter" Natalia Bondarenko. This year Natalia spectacularly finished the career of an ACM ICPC participant (let me remind you that she got the final's golden and silver medals and won NEERC 2008). Natalia also studies in Saratov State University as a postgraduate student and is a huge help to Codeforces with organizing rounds, preparing interesting tasks. Her list of achievements includes preparing 5 contests, writing 19 tasks and helping to organize yet more. Thank you, natalia. We gladly give the victory in this nomination to you and wish you further fruitful work.

Thanks to all those who took interest in the project in the previous year. We are very glad that our contests find their participants who share their impressions on Codeforces pages.

Full text and comments »

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

By MikeMirzayanov, 14 years ago, translation, In English
Codeforces had accumulated a many interesting problems, so it time to make own problemset. So today was not in vain – I’m presenting you the problemset of Codeforces. Perhaps the only reason we need it - is to make it easier to solve problems after the contest and understand what solved, and what does not. There were request in comments. I do not think that it is important feature, but someone will be more convenient: and it was good.


MikeMirzayanov,
archivator

Full text and comments »

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

By MikeMirzayanov, 14 years ago, translation, In English

Hello!

Tired to rest? Your help is needed.

During the period from December 31 until today I have made many changes in the Codeforces. The changes affected only the interior, so you will not notice any change in the user interface. Nevertheless, during this time was changed about 150 project files, database schema, some principles of data storage. In short, after all this, I'm not sure that everything works as expected (although, of course, I spent time on testing). For this reason I decided to organize Codeforces Testing Round #1, which will unrated and his only goal - a comprehensive testing of the project in conditions close to the real contest.

It will be three problems (possibly well-known, folklore), but I hope it will be pleasure to solve them.

Thanks for the help to Artem Rakhov, Maria Belova, and Max Ivanov

MikeMirzayanov.

UPD: Thanks to all. The round finished. We didn't notice any bugs. Write suggestions and opinions in the comments.

Full text and comments »

Announcement of Codeforces Testing Round 1
  • Vote: I like it
  • +49
  • Vote: I do not like it

By MikeMirzayanov, 14 years ago, translation, In English

Happy New Year, Happy New Code!

Let the new year bring you not only the traditional happiness, luck and health, but little programmer's delight: complete solutions, advance of (semi)finals, rating increase and absolutely no need to debug because of the perfect code. Wish you beautiful ideas and implementations!

It is usual to make presents On New Year. I do not know, what can you prepare for Codeforces (problems? articles?), and we decided that on New Year's sometimes happens what does not happen on other days. In the New Year holidays (from 31 December to 3rd January) in the user interface (Profile -> Settings -> handle) you can change your handle to any other.


Have fun celebrating the holiday,
Codeforces team

P.S. Thanks to anatoly-rr for such a beautiful calendar.

Full text and comments »

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

By MikeMirzayanov, 14 years ago, translation, In English
Hello!

I invite you to participate in Codeforces Beta Round #48. This time I acted as the author of the contest. I believe it is really exciting too! I urge you to follow my example. Codeforces is happy to contest authors.
With contest proposals please contact RAD (our problem coordinator).Participants are waiting for your problems!

UPD:
PDF statements will be also available after the contest start. Please, use the link.

I wish you beautiful solutions,
MikeMirzayanov

Full text and comments »

Announcement of Codeforces Beta Round 48
  • Vote: I like it
  • +64
  • Vote: I do not like it

By MikeMirzayanov, 14 years ago, translation, In English
Good night everybody. I'm writing this at night, which is why my greeting is such. I would like to present to you several improvements on Codeforces.

1. Now when you click at the cell of the standings and view the history, you can find a link to its source code. Thus, you have a direct opportunity to view the code of each user for each problem. Of course, the judgement protocol with tests is also available there. At the moment viewing different solutions of one problem by one person is not very convenient - we'll think of something later.

Full text and comments »

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

By MikeMirzayanov, 14 years ago, translation, In English

Hi everybody,

I am happy to tell you that Codeforces will soon free you from reading those endless "Please, give me test #??" in the comments. Now you can click on a link with the submission-id on the status page and it will show not only the original solution texts, but also the tests on which testing was performed (the judging system report). It will not contain the full inputs/outputs/answers if they are too large – you will have to wait for now and enjoy their prefixes. As soon as we understand that there're no bugs in the implementation, we will open all the previous contests to view the tests.

However, that is only the first step; later you will be able to download contest problem archives that will contain full texts (or their generators) as well as the authors' solutions and other materials.

Of course we do not want Codeforces problems to be copied from one "online judge" to another one. You’ve got to understand that Codeforces puts huge effort into preparing tasks and organizing contests. That's why we limit the material usage to make using our problems on websites or in other automatic testing systems impossible. On the other hand, we will be glad if the contest materials will be useful for individual training or for some assemblies, training sessions etc. with the onsite participants. Read the license text carefully as we want some Codeforces data to be published near (or inside) the problem tasks.

At the moment it is version 0.1 of the license, we will perhaps change a lot in it, but I guess the idea will undergo no changes.

Codeforces materials usage license (v. 0.1)

  1. You may publish the texts of Codeforces problems in any open sources, but you must preserve a direct link to the site http://codeforces.ru (http://codeforces.com for English statements) and indicate Codeforces as the problem source. These data should be located in the close proximity to the statement, be easily noticeable and readable. It is forbidden to publish Codeforces problems in open sources supporting automatic testing (such as online judges or similar resources).
  2. You must not use tests and other materials of the problems (generators, checkers, validators) to publish tasks in open sources supporting automatic testing (such as online judges or similar resources) even provided the original problem conditions has been changed.
  3. You may use the provided material: tests, generators, checkers, validators and others for individual training or to organize short-term teaching and training activities with the participants present on-site. Task conditions should contain the data from paragraph 1 of this license. The secondary (subsequent) distribution of the tasks should contain this license and comply fully with the license’s rules.

Full text and comments »

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

By MikeMirzayanov, 14 years ago, translation, In English

Good evening… (good?)

There were difficulties with the round, for which I apologize. During the contest I was able to partially locate the troubles, I hope we’ll fix them soon. Apparently, there were two troubles: 1) site didn’t respond, 2) for hacking attempts occurred inappropriate message that hacking is already taken. We will investigate it. Thank you for your patience.

So we decided to do it unrated.

I added work to the next round, the more so because I'm going to be its author:)

MikeMirzayanov

Full text and comments »

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

By MikeMirzayanov, 14 years ago, translation, In English
Hello!

Despite the fact that Artem Rakhov prepared the round - I'm writing this post, as he is currently training for the ACM-ICPC World Finals, writing a contest with the teammates.

Contest has been prepared by: Artem Rakhov, Gerald Agapov (congratulations on the "redness") and Maria Belova.

Wish you high rating,
MikeMirzayanov

Full text and comments »

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