By MikeMirzayanov, 12 years ago, translation, In English

Happy New Year!

The New Year is in a two-day distance from us and it's good time to summarize the ending year. In a nutshell, this year's been highly productive for the project. Codeforces has set up large championships, rounds followed one after another, we've launched the Codeforces::Gym project, we've added numerous improvements/fixes/innovations. Here's a short list of our deeds:

  • when a user votes for a post/comment, his/her authority is taken into consideration, we've introduced anti-bot and froud-detection heuristics
  • the Codeforces::Gym has been opened and has come through many improvements
  • the Codeforces Markup, based on Markdown has been introduced, accompanied with special Codeforces tags
  • Codeforces helped VK.com to carry out a amplitudinous VK Cup 2012 championship which had around 6000 participants!
  • the CROC company has used the Codeforces company to carry out the Open Moscow City and Moscow Region Programming Championship, around 1500 participants!
  • the ABBYY company has used the Codeforces platform to carry out the ABBYY Cup 2.0 championship, around 2000 participants!
  • we've introduced attaching blog posts to contests as announces, tutorials etc.
  • we've semiautomatically attached the tutorials for the past contests
  • the Bayan company has used the Codeforces platform to carry out the sorting stage of Bayan Programming Contest 2012/13, more than 3000 participants!
  • the CROC company has used the Codeforces platform to carry out the CROC Programming Championship among the Bauman MSTU, around 2000 participants!
  • the testlib.h has come through numerous improvements
  • we've supported new programming languages
  • we've supported the dynamic problem complexity
  • we've supported inserting photo albums from Picasa to posts
  • we've supported interactive problems — despite the short wording, this point is hugely important
  • the Polygon project has come through numerous improvements
  • we've supported problems with the score in points and with partial solutions (for the marathon type contests)

And that's not the end! We are glad to demonstrate to you wonderful pictures with pleasing graphs and charts.

Full text and comments »

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

By MaximShipko, 12 years ago, translation, In English

Good evening!

I'm glad to announce a series of improvements in the Codeforces::Gym subproject. Many people faced the following problem as they prepared problems in this section: to add a problem or edit an existing training a little bit, one had to parse and repackage the whole contest from the scratch in the Wizard. Another variant was manually editing the files on FTP. Both these ways added unreasonable challenges.

From now on you can create contest patches in the Wizard. Want to add a problem? There's no need to repackage the whole contest. Update the standings, add resources or statements? The procedure is simplicity itself. All you've got to do is to run the Wizard in the update mode and add only the really necessary changes. The Wizard will assemble the contest.zip package and mark it as a patch. You can upload the package into Taskbook in the usual manner.

Let's take a closer look at how the patch updates the contest.

  • The problem from the patch completely replaces the problem of the contest with the same index, otherwise it appears as a new problem. The problems from the contest's sandbox that don't occur in the patch, are left unchanged. To add problems to the contest, you need to run Wizard, create and parse one or several problems and assemble the package.

  • You can replace the problem statements and resources in the similar manner. A statement replaces the one that exists for this language, whatever the file name is. A resource replaces an existing one if they have the same names, otherwise a new resource is added.

  • File with standings of ghostly participants (contest.dat) replaces the existing one, if the new one contains at least one submit. If there is no such submit and the problems of the patch are a subset of the existing problems of the contest (in the sandbox), then contest.dat remains unchanged. Otherwise, a new contest.dat is generated (without submits) which joins together the sets of the contest problems and the patch problems. To update the results of the ghostly participants, you must parse the new standings in the Wizard, skip all problems by clicking Skip problem button, and pack.

Applying a patch assumes that the data of the patch and the current state of the sandbox are consistent. For this both the patch and the sandbox have a validation. This validation is similar to the one that occurs when you release a training, but is a bit simplified. When you download the full package of the contest, such validation does not occur, the archive unpacks as is and is checked only when the contest is released. The patch is applied only if both validations are completed successfully. Otherwise, the patch file is simply removed, and a new record in error.log of the training can tell you what went wrong.

The improvements also affected Taskbook, namely the validation system: if the problem was not changed since the last release of the contest, its validation won't be performed. This will dramatically speed up the process of releasing the training in the case of minor changes. If no file of the training was changed, then release will not happen, and the user will get the corresponding message.

As a little bonus we have made many improvements in the Wizard's interface. In particular, we added hotkeys for most actions (the details are in tooltips to the buttons), we have also improved a lot of dialogues:

  • We've accelerated launching the multiple file selection dialog in the Windows OS by hiding the Network element. The item can be returned by pressing a special button.

  • We've added a button that allows you to save the contest.dat, not assembling the full package.

  • We've changed the mechanism of launching open and save file dialogs. It had almost no impact on their look, but it let us add a number of enhancements, such as setting up a default file name and saving the current directory in the subsequent uses of the dialogue.

  • If saving the contest package fails, the user will be suggested to try to do it again. No need to re-validate the contest and re-assemble the package.

Full text and comments »

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

By HolkinPV, 12 years ago, translation, In English

Welcome, friends)

New year is coming and meanwhile we are glad to introduce you regular Codeforces round #158 for Div. 2 participants, may be the last in this year). Traditionally Div. 1 participants can take part out of the competition.

Today's problems were prepared by authors: Nikolay Kuznetsov (NALP), Fefer Ivan (Fefer_Ivan), Pavel Kholkin (HolkinPV) and Gerald Agapov (Gerald). Traditionally thanks to Michael Mirzayanov (MikeMirzayanov) for perfect Codeforces and Polygon systems and Mary Belova (Delinur) for translating the problems.

Score distribution will be standard.

We wish everyone successful hacks, high rating and happy new year!

UPD: the contest is over, we hope you enjoy it)

Сongratulations to winners:

1) ballmaids01
2) betalife37
3) showtime
4) vlyubin
5) bardek

UPD2: the tutorial is published, you can find it here)

Full text and comments »

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

By witua, 12 years ago, translation, In English

Hi all,

Next Codeforces Round, which is with number 157, will take place tomorrow. I'm an author of it, it is my 7th round at CF. Thanks alot to Gerald for helping in preparings.

Scores distribution in both divisions is 500-1000-1500-2000-2500.

Good Luck!

Top-7 Div1:

  1. ftiasch
  2. rng_58
  3. shangjingbo
  4. gawry
  5. sandytea
  6. Petr
  7. peter50216

Top-4 Div2:

  1. guliashvili
  2. pavel.savchenkov
  3. HighFlow
  4. mohammadrdeh

Thanks!

Editorial (currently only for Div2).

Full text and comments »

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

By Sereja, 12 years ago, translation, In English

Hello everyone!

Codeforces Round #156 will take place on Sunday, December 16th at 19:30 MSK. This is my second Codeforces round and I hope not the last.

I'd like to thank Steps09, Seyaua, sdya and Gerald for helping me to prepare the round. Special thanks to Delinur for translation of all problem statements into English.

Problems’ point values are standart: 500-1000-1500-2000-2500.

I strongly recommend you to read ALL the problems.

Gl & hf ! :)

Contest is over, I hope it was interesting for you :)

Congratulations to div1 winners:
1). YuukaKazami
2). al13n
3). rng_58
4). Bigsophie
5). KADR

and div2 winners:
1). ShadowSong
2). ynbpdy072
3). jiaobu

You can view editorial here.

Full text and comments »

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

By Nerevar, 12 years ago, translation, In English

Hello everybody.

On the 8th and on the 9th of December there will be local two-stage school competition in Saratov. We decided that it will be interesting to allow everybody to solve problems from it. So I am glad to announce that this weekend there will be two Div2 rounds.

The first round — Codeforces Round #154 (Div. 2) — will start at 14:00 MSK on the 8th of December.

The second round — Codeforces Round #155 (Div. 2) — will start at 14:00 MSK on the 9th of December.

Rounds will be held under usual CF rules, with one condition:

Problems will require file I/O: you have to read data from input.txt and write data to output.txt.

Score distribution will be announced just before the beginning of each round.

Participants from Div1 can take part in rounds out of competition.

UPD Here are links to solutions with file I/O in some languages:

UPD2 Score distribution in round 155 will be standard: 500-1000-1500-2000-2500.

UPD3 Tutorial is available for round 154.

UPD4 Unfortunately, in the first half of the contest, it was found that the task C checker does not check the lexicographically minimality of the answer. We offer our apologies for this error. So we adjusted checker. We conducted an investigation and found that the change has affected 53 members from the second division. We believe that a completely fair to make this competition for such participants unrated. This inaccuracy had absolutely no effect to all other.

UPD5 Tutorial is available for round 155.

Full text and comments »

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

By KADR, 12 years ago, translation, In English

Hello everyone!

Codeforces Round #153 will take place on Thursday, December 6th at 19:30 MSK. This is my third Codeforces round and I hope there will be more.

I'd like to thank Shtrix, Seyaua, sdya and Gerald for helping me to prepare the round. Special thanks to Delinur for translation of all problem statements into English.

I hope you will like the problems.

Good luck and have fun!

UPD: Complete version of English editorial is now available.

Congratulations to the winners!

Division 1:

  1. Egor
  2. tourist
  3. rng_58
  4. kelvin
  5. Burunduk1

Division 2:

  1. inker
  2. WhoTheHellIsMe
  3. memo1288

Full text and comments »

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

By MikeMirzayanov, 12 years ago, translation, In English

Northeastern European Regional Contest 2012 will start on December, 2nd. We wish good luck to the teams and many joyful moments to the funs!

Useful links:

Full text and comments »

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

By Gerald, 12 years ago, translation, In English

Good day!

For technical reasons, we've decided to move the start time of the online version of the round. Online version will be held as separate competition CROC-MBTU 2012, Final Round (Online version, Div. 2). Please register for this competition.

This round will be usual rating round for the Div. 2 participants.

UPD. The online version of the round will come soon. Let me remind you that this contest will hold by usual Codeforces rules. The score distribution is 500-1000-1500-1500-2000.

Enjoy contest!

Full text and comments »

Announcement of CROC-MBTU 2012, Final Round
  • Vote: I like it
  • +59
  • Vote: I do not like it

By pkhaustov, 12 years ago, translation, In English

Hi, everyone!

The authors of Codeforces Round #152 are am-real, max777alex and me.

Special thanks to Gerald who helped us to prepare this round. Also, we want to thank Delinur for english statements. And we'd like to thank Seyaua and sdya for reading and testing problems of this round.

The round will be held on 25th of november at 19:30 in Moscow time, and it will take place in both divisions.

Score distribution div1: 1000 1000 1500 1500 2500

Score distribution div2: 500 1000 2000 2000 2500

Contest is over.

We appologize for ambiguity in the statement of the problem A. It was not clear whether it is possible to touch the goal post when the ball crosses the goal line. However, both ways to understand the problem statement were accepted. These solutions differ by an infinitesimal amount. The only thing that this ambiguity has effected a lot — hacks. All the hacks, which were based on the assumption that such touching is impossible, will be removed. Please, those who have done these hacks inform Gerald Agapov (Gerald).

We also apologize for the interuptions and problems with statements rendering.

Far from unanimous decision of the jury, it was decided to make this round rated. The rating will be recalculated on 26/11/2012 after removing of all relevant hacks.

Full text and comments »

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