MikeMirzayanov's blog

By MikeMirzayanov, 12 years ago, translation, In English

Right now the onsite contest is in progress. You can view the curreny results here.

On Monday you can take part in unofficial contest mirror on http://acm.sgu.ru/. The contest starts on October, 22 (Monday), 2012, 12:00 (UTC). The official results will be integrated into the online contest standings. Hope to see you on [http://acm.sgu.ru/]!

Later the contest will be added as a training in Codeforces::Gym.

Full text and comments »

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

By MikeMirzayanov, 12 years ago, translation, In English

Recently the first third team NEERC Trains was finished. By the way, the first place got the intriguing team "SPb NRU ITMO 1: Kever, Korotkevich, Nigmatullin" :-) It was used Warsaw contest from old contest Petrozavodsk camp.

I've added 2007-2008 Petrozavodsk Winter Training Camp, Warsaw Contest to the Gym. The ghosts are not only Petrozavodsk camp participants (2008) but also modern ITMO teams!

Enjoy the contest before ACM-ICPC Subregionals and Regionals contests.

Full text and comments »

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

By MikeMirzayanov, 12 years ago, translation, In English

Being recently in the CROC office, I've heard about another interesting contest. It's called "Flying Robots". I am far from robots, but the subject is interesting and popular. I am pleased to publish a small announcement.

About contest

September 3, 2012. CROC, one of the five largest IT companies in Russia, calls for Flying Drone contest applications. The contest is a part of the '20 Ways to Brighten Up Your Life' project. The first prize will be 1 million Rubles.

Contestants shall make a pilotless and autonomous drone which must take off from a starting point, overcome an obstacle, land within a certain zone, take off again and then come back to the starting point. Please submit your application till November 15, 2012. For contest details please visit http://robots.croc.ru/ (in Russian).

Results announcement and award ceremony will take place in August 2013.

About CROC

CROC is a leader in IT infrastructure design and implementation and the number one systems integration service provider in Russia (IDC reports, 2002-2011). CROC is one of the five largest IT companies in Russia (RIA Analytics 2012, Expert Rating Agency 2011) and one of Russia’s Top 200 Private Companies (Forbes).

Full text and comments »

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

By MikeMirzayanov, 12 years ago, translation, In English

Hello!

Only few hours left before Codeforces Round # 135 (Div. 2). We are preparing the round in Petrozavodsk where traditional training camp for ACM-ICPC is going now. Today is a day of rest here, many participants gone to a trip to Kizhi. The main contest authors are me and Gerald. Special thanks to Aksenov239 who tested the round. Thank Delinur for translation.

The problems will be sorted by expected difficulty, the scores are dynamic.

Wish you fun round!

Full text and comments »

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

By MikeMirzayanov, 12 years ago, translation, In English

There is something to boast. If you count the number of active participants as it TopCoder does (at least one participation in a rated-event in six months), then for Codeforces it is 9389. By the way, TopCoder has a little less, 9380. A trifle, but nice! :)

Distribution by colors:

Color Number of active
Grey 549, 5,84%
Green 5189, 55,26%
Blue 2011, 21,41%
Violet 1108, 11,8%
Orange 415, 4,42%
Red 117, 1,24%

Full text and comments »

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

By MikeMirzayanov, 12 years ago, translation, In English

Hello!

You may find the photos from the VK Cup 2012 on http://vk.com/vkcup

Full text and comments »

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

By MikeMirzayanov, 12 years ago, translation, In English

Today is the main VK Cup event: VK Cup 2012 Finals! Good luck to all participants. And to those who don't participate — enjoy the interesting competition. VK CEO Pavel Durov announced the upgrade of a prize fund in the greeting speech at the finals' opening! I'm starting to really regret that I am not a participant.

The participants compete for:

  • 1st place — $30000
  • 2nd place — $20000
  • 3rd place — $10000
  • 4-5 places — $2000
  • 6-10 places — $1000

Good luck! Wish you only positive emotions. Ready! Steady!...

UPD: The contest is over! I believe Alex_KPR will write about the contest and the closing ceremony soon. Thank you for participation and your interest. Here are the complete standings.

Congrats to the winners. The top-3 is:

UPD: As you have already noticed, the 16th July at 19:00 will start an unofficial online-version of the VK Cup 2012 Finals. Anyone can participate and feel himself as a finalist. Round will be unrated. If you already took part in the Finals or familiar with the problems, please refrain from participation. All problems will appear in the archive and will be available to everyone.

Full text and comments »

Announcement of VK Cup 2012 Finals
  • Vote: I like it
  • +76
  • Vote: I do not like it

By MikeMirzayanov, 12 years ago, translation, In English

Hi everybody!

Today, on the 14th of July, we hold a trial round of the VK Cup 2012 final championship round. The Codeforces functionality is very limited for the external visitors and for the finalists. Please stay calm.

The participants of the Finals do not have to register for the round. There are no special pep talks — you will face the familiar system with the usual settings. Oh yes, the system of assessing tasks will be dynamic. Let me remind you that you should not use any electronic devices or personal records, communicate with each other et cetera. You shouldn't violate any rule Codeforces and VK Cup rules. Tomorrow is a big day, let's rehearse it in all details.

MikeMirzayanov and the VK Cup 2012 jury team

Full text and comments »

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

By MikeMirzayanov, 12 years ago, translation, In English

Hi everybody!

The VK Cup 2012 programming championship finals is going to take place very soon. The organizing committee and jury are working around the clock to set up the event that the participants will like.

Let us remind you that the finals will take place from July, 13 to July, 16. We will choose the best 50 participants by the results of VK Cup 2012 Round 3. As soon as we are absolutely sure about who can come to the finals, we will publish the list of the finalists.

We’d like to share some information from the organizing committee headquarters. The finals’ participants will be accommodated in the beautiful Kempinski hotel in the centre of St. Petersburg, on the bank of the Moika. The hotel is located within a walking distance from the Vkontakte office, so there won’t be any exhausting buses and coming across the city’s traffic jams! Please note the roof restaurant with the view on the Palace Square when you take a look at the photos of the hotel.

There is no exact timetable yet, something depends on the time when the participants will arrive and the complexity of the problems (that’s right, the final round may not have the usual timing). The general plan is as follows:

  • July, 13: Checking in, having dinner, meeting each other and having fun.
  • July, 14: Most of the day will be dedicated to an unofficial entertaining event called Code Game Challenge (special for VK Cup 2012). Also a short testing tour is planned on that day. In the evening the great dinner will be topped with Code Game Challenge Show – watching the strategy tournament on a large screen.
  • July, 15: The main day of the competitions (good luck!). In the evening we’ll reward the winners and celebrate all finalists (I am sure that everyone will be pleased :));
  • July, 16: Going home.

Vkontakte and Codeforces are very glad to see the students’ interest in VK Cup 2012. Despite us inviting only young coders to the championship (the age limit should not exceed 23 years), nearly 6000 participants registered there. They geographically cover practically all countries of the world! We are very glad to see that almost all coders who advanced to the finals could make it to St. Petersburg. The winners will get worthy awards, and at this point we are happy to announce that the championship prize fund has been increased! You’ve got an aim to fight for and do your best to win!

  • 1st place — $20000
  • 2nd place — $10000
  • 3rd place — $5000
  • 4-5th place — $2000;
  • 6-10th place — $1000.

Easy journey to the finalists,
The VK Cup 2012 jury and organizing committee.

Questions and Answers

  • What will be the rules of the Final Round? The round will be held by the rules of Codeforces, it will be 2 or 2.5 hours long. The dynamic problems' scoring is likely to be used.
  • Will we use the PCs that you will give us, or our own PCs? The participants will use special workstations prepared by the VK Cup Team. It is not allowed to use one's own laptops. You may bring a USB-keyboard, but it should not have superior features.
  • What operation system will be used? We hope to give the oppotunity to boot Ubuntu 12.04 or Windows at the participant's choice. We are working on it now. We will install a wide list of free software on both OS.
  • Is it possible to use a prewritten code? Basically no, it is only allowed to use the code written on the competition. But you may use the code written on the practice session or on the CodeGame coding phase.

Saint-Petersburg photos

Full text and comments »

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

By MikeMirzayanov, 13 years ago, translation, In English

The first information letter


General information

In the first part of August 2012 Saratov State University runs an international student summer school in computer programming. The exact dates are 1-11 of August. Teams of three people and individual participants are invited to take part in it.

The school will take place in a picturesque place at one of Saratov resort centers on the Volga bank. The participants will be provided comfortable rooms for 2-4 people and meals three times a day. The resort center owns a beach and sport grounds.

It will be 10 training days. The school includes lectures by Saratov state university coaches, joint trainings, problems tutorials and topical workshops. The curriculum is designed for younger university students who aspire to achieve high results at programming competitions. Official language — Russian.

The fees are 16000 RUR (~ 510 USD) per a person. Moreover, each team or an individual participant should bring a laptop with the support of WI-FI.

All interested participants and teams should register at http://acm.sgu.ru/sazanka-2012/ till 15th June 2012. Don't postpone the registration, as the number of participants we can take is limited.

You can get additional information by e-mail mirzayanovmr[symbol-at]gmail.com. As since the official language of the school is Russian, the registration requires knowledge of Russian. Also it is recommended to view this page in Russian.

About Saratov State University

Saratov State University, regularly achieves significant advances in programming competitions. The following are the main achievements of the university in international competitions:

  • 2002 ACM-ICPC World Finals silver medals, Europian Champions
  • 2003 ACM-ICPC World Finals silver medals
  • 2006 ACM-ICPC World Finals golden medals, Europian Champions, World Champions
  • 2007 ACM-ICPC World Finals silver medals
  • 2008 NEERC Champions
  • 2009 ACM-ICPC World Finals golden medals
  • 2010 ACM-ICPC World Finals silver medals
  • 2011 ACM-ICPC World Finals silver medals

Mike Mirzayanov,
Saratov State University

Full text and comments »

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

By MikeMirzayanov, 13 years ago, translation, In English

Now it is quite easy to include albums from Picasa. The album should be publicly available for viewing by the link. Add into the text [photoalbum:URL], example: [photoalbum:https://picasaweb.google.com/114907919772955385569/2012?authuser=0&feat=directlink].

Please publish only photo albums dedicated to programming competitions or around it, interesting to the general public.

Full text and comments »

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

By MikeMirzayanov, 13 years ago, translation, In English

Hello!

Today it will be good old ACM-ICPC round. Yes, it will be the rated event for the second division, and the participants of the first division will be able to participate out of competition.

Problems have been prepared by Nerevar, natalia, MikeMirzayanov and Edvard, and Delinur translated all the problems. Thanks!

Good luck!

UPD: Ratings will be updated later. Sorry for delay.

Full text and comments »

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

By MikeMirzayanov, 13 years ago, translation, In English

Hi everybody!

Let me remind you that on the 3rd of April, at 08:00 the Qualification Round of the Open Moscow Programming Championship By CROC will start.

You need to participate in the Qualification Round to make it to Round 1. Contestants who gain a score equal to the 1000-th place finisher score or greater will advance to the Round 1 (also you need to gain positive score).

At the Qualification Round you will find a few simple problems, roughly ordered by the increasing complexity. During the Qualification Round the problems are judged only on pretests and system testing will take place after the end of the Qualification Round (round continues for 24 hours). The pretests do not cover all possible cases of input data, test your programs carefully! The Qualification Round has no hacks or decreasing values of the problems.

The round will last for 24 hours, but it does not mean that we encourage you to spend all this time solving of problems. We hope that most participants will cope with the problems (or with most problems) in a shorter period of time. This duration of the round is chosen so that each participant could find a convenient time to participate.

Before the end of the round it is strictly forbidden to publish the problem statements/solutions/any thoughts and ideas about them elsewhere. It is forbidden to talk about the problems, discuss the statements and so on. Be honest and let the best men make it into Round 1. When the Qualification Round is over, you can discuss the problems and solutions.

You can register for the round at any time up to its end.

The results of the round will not affect the rating, non-competitive participation in the round is not allowed. However, all tasks will go to the archive after the end of the round.

Best of luck and enjoy solving the problems!

UPD: The contest is over! Thank you for your participation. We will remove cheaters soon and the results will become official. Unofficially, the Round 1 cutoff is 1950 points.

UPD 2: We have removed obvious cheaters and people who are under 18 years old at the time of registration. If your results have been removed in error, please contact me for clarification. Now, the Round 1 cutoff is 1900 points.

Full text and comments »

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

By MikeMirzayanov, 13 years ago, translation, In English

Hello!

Welcome to the VK Cup 2012 Wild-card Round 2!

It will be a week-long contest with the only problem. It seems the problem doesn't have an exact solution. So as better answer your solution finds as more points you'll get! Of course, it is not all the details. Full text of conditions and the rules of scoring you will be able to read immediately after the round starts.

If you was an official VK Cup 2012 Round 2 participant but didn't advance to the Round 3, you have the last chance to do it! Take part in VK Cup 2012 Wild-card Round 2 and be in the top 25 to advance to the Round 3. All others are members of the community can take part in the round out-of-competition, just for fun. Anyway, it will be unrated round to any of you.

Remember that after the contest ends your last attempt which passes at least one test will be judged on the main testset. You may try to solve problem as many times as you want.

Good luck! Let the best man win!

P.S. I must leave it here. During the contest is strictly forbidden to post/discuss algorithms/approaches for the problem, share any conclusions about the problem. You can not share the results (including just report score points) of the solutions on any tests. It is prohibited to publish tools to simplify and automate the process of solving the problem.

Thanks Nickolas, for the great problem!

UPD: The contest is over, the testing is completed. Congratulations to the first 25 finishers — standings, you are in the VK Cup 2012 Round 3!

Full text and comments »

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

By MikeMirzayanov, 13 years ago, translation, In English

Hello.

VK Cup 2012 Round 2 will be held in two editions:

In each of these editions the ratings will be updated (separately). In the first edition the ratings will be updated according to the results of participant of both types: official and unofficial. Ratings of the participants of both types will be updated. In the second edition it is easier — there is only one type of participants and and their ratings will be updated in typical way.

Full text and comments »

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

By MikeMirzayanov, 13 years ago, translation, In English

Hello everyone.

The idea of dynamic problem scores is not new. As far as I can remember, something that was discussed back in 2000. Since then, the issue has surfaced several times — one of the latest experiments have been organized by Alex_KPR.

Why do we need different problem scores? As correctly observed RAD, they are actually needed for contests where the solution has a chance to fail after coding phase. For example, Bob solved easy A, and Peter solved easy A and really hard B. But Peter's A failed system tests and he solved B later (and may not from the first attempt). In this case, if the problems were equal in value, Peter will take place below Bob, that somehow unfair.

Typically Codeforces problems has divible by 500 values: 500, 1000, 1500, etc. Usually we try to pick up a 5-problems sets, varying in complexity. In this case, each contestant will find interesting problems (for him/her). The traditional set of tasks includes problems 500-1000-1500-2000-2500.

In practice, it's not that simple. Sometimes it turns out that the authors and testers did not guess the complexity of the problem in terms of regular contestants. What to do?

The experiment is as follows. Assign the value of the task dynamically depending on the number who have solved this problem. During the main contest time here will be taken into account the submissions with verdict "Pretests passed", but after system test — "Accepted". Of course, solutions of out-of-competition participants will not be counted.

The idea is as follows:

  • If a problem solved by half to all the contestants, then it is worth 500 points,
  • If a problem solved by quater to half of all the contestants, then it is worth 1000 points,
  • And so on.

More formally, in the following table:

Solvers fraction Max. problem points
(1/2, 1] 500
(1/4, 1/2] 1000
(1/8, 1/4] 1500
(1/16, 1/8] 2000
(1/32, 1/16] 2500
[0, 1/32] 3000 (maximum problem score)

Number of round participants = who made at least one attempt in this round.

That's it! As you can see the idea is very simple and not overloaded with formulas and details. You may view results of past Codeforces contests by links like "Final standings". We temporary recalculated results according experimental rules. Later we will return them back.

Today 2021-2022 ICPC, NERC, Northern Eurasia Onsite (Unrated, Online Mirror, ICPC Rules, Teams Preferred) will use such experimental rules. We guarantee that the problem A will be easiest problem (as Jury thinks), but the order of the remaining problems — random. Good luck!

Smoother dynamic problem scores (250 pts steps)

Smoother realization of dynamic problem scores with a step of 250 points has been implemented. As before, if the amount of contestants who solved a problem is increased twice, max. problem score is decreased by 500 points. Now also if the amount of successful contestants is increased times, score is decreased by 250 points. The table below illustrates max. problem score dependency from the percentage of contestants who solved the problem.

Solvers fraction Max. problem points
(0.707, 1] 250
(0.500, 0.707] 500
(0.353, 0.500] 750
(0.250, 0.353] 1000
(0.176, 0.250] 1250
(0.125, 0.176] 1500
(0.088, 0.125] 1750
(0.062, 0.088] 2000
(0.044, 0.062] 2250
(0.031, 0.044] 2500
(0.022, 0.031] 2750
[0, 0.022] 3000

Full text and comments »

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

By MikeMirzayanov, 13 years ago, translation, In English

CROC invites talented and innovative programmers (at least 18 years old) to participate in the Open Moscow Programming Championship. The championship is held on the basis of the Codeforces project. Saratov State University involved into jury and the technical committee. The official championship language is Russian, but the problems will be in Russian and English.

The championship will consist of qualification, two online rounds (on April 3-4, 6 and 20) and the final round that will take place on April, 27 in Moscow in the CROC Headquarters. The championship finals will also include a AI-game round.

The championship winners will be awarded with valuable prizes: the first place winner gets 100000 rubles, the second and third place winners get Apple MacBook Pro. The contestant who wins the first place in the AI-game round will be awarded with an Apple MacBook Air.

To participate in the championship, you must register on http://www.crocok.ru/championship/ (in Russian) before April 4, 2012.

You can also learn more about the project if you follow the link http://crocok.ru and click the tab called "Programming Championship".

Full text and comments »

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

By MikeMirzayanov, 13 years ago, translation, In English

This is a detailed and formal version of the Codeforces contest rules. If you just want to learn the rules, we recommend that you first read the post Codeforces Contests. The organizers may slightly modify the rules for specific rounds, then this information is contained in the announcement of the round. The following rules should be regarded as default rules.

General information about a round

  1. You need to register to participate in a round. The registration opens six hours before the start of the contest and closes 5 minutes before it, unless the information about the round states otherwise.

  2. The system of conducting contests has two interface languages available: Russian and English. The contestants can switch between these two languages.

  3. A round continues for 2 hours, unless the information about the round states other duration time.

  4. Contestants are given 5 problems to solve, unless the information about the round states another number of problems.

  5. Problem statements are available in two languages: Russian and English

  6. Statements of all problems become available to read at the moment the round starts.

  7. Before the contest begins, all registered contestants are randomly split into rooms. Each room contains about 40 contestants.

Questions

  1. During a contest the contestants can ask questions to the contest jury via the system. The questions may concern mistakes, ambiguous spots and inaccuracies in the statement.

  2. A question must be asked in one of two languages: Russian or English. The question must be clear and written in a correct language. Otherwise, the jury preserves the right not to consider the question and answer 'no comments'.

  3. The contest jury can answer the given question in an arbitrary text form.

  4. The answer No comments means that the question either doesn't the requirements listed in point 2 or the answer to the question is in the statement or in the contest rules.

  5. An answer to a question is only available to the contestant who has asked it apart from the cases when the contest jury decides that the question is important for all contestants. In this case the jury can make the question and the answer to it available to all contestants.

Problem Solution

  1. A problem solution is a program written in one of the following programming languages (different problems can be solved in different programming languages, the list of languages can be widened):

    • С/С++
    • Delphi/Pascal
    • Java
    • С#
    • Python
    • Ruby
    • PHP
    • OCaml
    • Haskell
    • Perl
    • Scala
    • D
    • Go
  2. Requirements to the solutions:

    • The full program should be contained in a single file.
    • If the problem statement doesn't specify the names of input or output, you must read the data from the standard input and write it to the standard output.
    • You are forbidden to work with the Net.
    • You are forbidden to perform input-output operations except for opening, closing, reading and writing files and standard streams given in the problem statements to perform input-output.
    • You are forbidden to run other programs and create processes.
    • You are forbidden to modify files or directories' permissions in the file system.
    • You are forbidden to work with directories other than the current one.
    • You are forbidden to work with the operating system registry.
    • You are forbidden to create and use GUI elements (windows, dialogs etc.)
    • You are forbidden to work with external devices.
    • You are forbidden to perform any other actions that can in any manner destabilize the judging process.
  3. After a contestant solves a problem, he submits the solution via the contest system interface and continues working on other problems. After the system receives and judges a solution, it immediately responses by displaying the result of judging the solution.

  4. A contestant can see the results of judging of his solutions on the corresponding tab of the contest system. During a contest a contestant can see the results of only his solutions' judging.

Compiling solutions

  1. As a contestant submits a solution, he chooses a compiler that the judging system should use as it compiles the program. The judging system uses the following compilers for judging (the jury has the right to add other compilers at its discretion or replace the compiler's versions with the newer ones):

    • MinGW GNU C++ 4
    • MinGW GNU C 4
    • MS VS C++ 2010
    • Free Pascal 2
    • Delphi 7
    • C# Mono 2
    • Java 6, 7
    • Ruby 1
    • Python 2
    • PHP 5
    • Haskell GHC 6
    • Objective Caml 3
    • Scala 2
    • Perl 5
    • MS C# .NET 4
  2. The contest organizers are not responsible for problems caused by the compiler's version in the judging system not matching the compiler's version used by the contestant as he was writing the program. To partially avoid such problems, there is an option to run a contestant's code on the server's side. To run the code, the contestant should submit the program and the input to the server. After a while the judging system will display the result of the program's execution and the output.

  3. Solutions are compiled and run under Windows OS. Line breaks are set by a couple of symbols #13#10. A file's or an input's last line should end with a line break (right before the end of the file).

  4. If a compilation error occurs, than the contestant gets the judging result as 'Compilation error' and the compilation log.

  5. The size of the file with the source code shouldn't exceed 64 kilobytes.

  6. The judging system uses command line compilers to compile solutions. The compiler command lines for different compilers are given in the table:

Compiler compilation (execution) command line
GNU C++ 4 g++.exe -static -fno-optimize-sibling-calls -fno-strict-aliasing -DONLINE_JUDGE -lm -s -x c++ -Wl,--stack=268435456 -O2 -o %name%.exe %1
GNU C 4 gcc.exe -static -fno-optimize-sibling-calls -fno-strict-aliasing -DONLINE_JUDGE -fno-asm -lm -s -Wl,--stack=268435456 -O2 -o %name%.exe %1
GNU C++ 4 (C++0x) g++.exe -static -fno-optimize-sibling-calls -fno-strict-aliasing -DONLINE_JUDGE -lm -s -x c++ -Wl,--stack=268435456 -O2 -std=c++0x -D__USE_MINGW_ANSI_STDIO=0 -o %name%.exe %1
MS VS C++ 2010 cl /W4 /F268435456 /EHsc /O2 /DONLINE_JUDGE %1
Free Pascal 2 fpc -n -O2 -Xs -Sgic -viwn -dONLINE_JUDGE -Cs67107839 -Mdelphi -XS %1 -o%name%.exe
Delphi 7 dcc32 -Q -$M1048576,67107839 -DONLINE_JUDGE -cc %1
C# Mono 2 dmcs -define:ONLINE_JUDGE -o+ -out:%name% %1
Java 6,7 javac -cp ".;*" %1, java.exe -Djava.security.manager -Djava.security.policy=java.policy -javaagent:invokeagent.jar -Xmx512M -Xss64M -DONLINE_JUDGE=true -Duser.language=en -Duser.region=US -Duser.variant=US -jar %s
Ruby 1 ruby.exe -c %1
Python 2 python -c "compile(open('%1').read(), '%1', 'exec')"
PHP 5 php.exe -l %1
Haskell GHC 6 ghc --make -O -o %name% %1
OCaml 3 ocamlopt nums.cmxa str.cmxa -pp camlp4o -unsafe -o %name%.exe-ocaml %1
Scala 2 См. Java
Perl perl.exe %s
D dmd -L/STACK:268435456 -version=ONLINE_JUDGE -O %s
Go go build %1

Judging Solutions

  1. During the contest the solutions are judged on a small number of tests called pretests.

  2. The result of judging the solution on the pretests are displayed to the contestant right after the judging.

  3. Each test is represented by the input for the contestant's program. The limits for the input contained in the test are indicated in the problem statement.

  4. All problems indicate the maximum time a program can take to work on one test and the maximum memory that can be consumed.

  5. Judging is performed by consecutively running the program on each test.

  6. The test is considered passed if running the program terminated with the return code 0, the process fit into the given time and memory limits and besides, the program printed the correct answer to the given test. The table below gives the most frequent verdicts of possible errors.

Judgement Verdict Description
Memory limit exceeded The program tries to consume more memory than is indicated in the problem statement
Time limit exceeded The program hadn't terminated in time indicated in the problem statement
Runtime error The program terminated with a non-zero return code (possible reasons: array out of bound error, division by zero, stack overflow, incorrect pointers usage, etc)
Wrong answer Wrong answer
Idleness limit exceeded The program didn't use the CPU time for considerable time
Denial of judgement The solution was impossible to run, perhaps, due to a judging error. The most probable cause is an error in the program (for example, using extra large arrays)
  1. If the solution passed all pretests, the contestant is displayed the result that says Pretests passed. Otherwise, the contestant is displayed the judging result as the number of the first pretest that failed the judging and the judging system verdict.

  2. If the result of the judging is Compilation Error, Denial of judgement (or similar) or if the solution didn't pass the first pretest, then this solution won't be considered in calculating results.

  3. The solution of one problem can be submitted multiple times.

  4. The solution that passes all pretests is considered the contestant's verified solution for this problem.

  5. If a contestant submits several times a problem's solution that passes all pretests, then the last solution is considered as the contestant's verified solution for this problem. All other solutions will be considered as unsuccessful attempts.

  6. If a contestant's solution passes all pretests, the problem is considered pre-solved by the contestant and the system calculates the contestant's preliminary points for the given problem. The points are calculated by the following scheme:

    • each minute decreases the problem's value: the value decreases by X/250 points per minute (where X is a problem's initial value), for example, a problem with the initial value of 500 points gets 2 points cheaper every minute;
    • the number of points a contestant gets for a problem equals the current value of the problem in points minus penalty;
    • the penalty is determined as the number of this contestant's previous solutions for this problem, multiplied by 50 points;
    • a contestant can't earn less points than 30% of the initial problem value.

Hacks

  1. A contestant can lock any of his pre-solved problems. That means that the contestant loses the right to submit solutions for this problem.

  2. After the contestant locks a problem, he gets the right to view the original codes of submitted solutions of other contestants for this problem that share the same room with him. Having viewed another person's code, the contestant can suggest a test on which, as he thinks, the given solution will fail. This procedure will be further called a solution's hack. A test can be given manually or using a generator program that writes the test to the standard output. The system automatically validates the test to satisfy problem statement constraints. If it doesn't, the contestant is notified about it and the hack attempt is ignored. If the test satisfies the indicated constraints, then the solution runs on the offered test. If the solution doesn't pass the test, then the hack is considered successful, otherwise it is considered unsuccessful. A hack attempt is also ignored if by the given moment the hacked solution is not the contestants' last verified solution of the problem. For example, this might be the case if somebody already hacked the given solution before or the hacked contestant has resubmitted the solution.

  3. A contestant gets 100 points for a successful hack and a penalty of 50 points for an unsuccessful hack.

  4. If a contestant's solution is successfully hacked, then happens the following:

    • he problem isn't considered pre-solved by this contestant anymore
    • his preliminary points for this problem are reset to 0
    • the test from the hack is added to this problems' pretest set for the given contestant
  5. If a contestant locked a problem, but had the solution hacked, then he preserves the right to hack other people's solutions for this problem.

Can-do's and Can't-do's

  1. During the round the contestants are allowed to use any books and personal notes as well as a code written beforehand by you personally.

  2. It is forbidden to use somebody else's code in the solution. You may use third-party prewritten code with some restrictions, read carefully about it.

  3. It is allowed to use any sources of information on the Internet (but it is forbidden to copy-paste somebody else's code).

  4. It is forbidden to obfuscate the solution code as well as create obstacles for its reading and understanding. That is, it is forbidden to use any special techniques aimed at making the code difficult to read and understand the principle of its work.

  5. The contestants are forbidden to talk about subjects, related to the problems, with anybody, including other contestants. It is only allowed to ask questions to the jury via the system (see the 'Questions' section).

  6. The organizers of the contests have the right to monitor the contestants' honesty in behavior using different methods and disqualify the contestant if violations are found.

  7. All programs submitted by the contestants for judging, should be aimed at solving the problem and not at violating rules or destabilizing the judging system. A contestant who deliberately attempts to destabilize the judging system, will be disqualified.

  8. Attempting to digitally extract other contestant's code during the hacking is considered cheating. You may not use any technical/digital tools to obtain other contestant's code, including (but not limited) OCR, traffic capture, browsers plugins and so on. The only allowed method to analyze other contestant's solution is reading it in a hacking window. However it is allowed to manually retype the solution or it's parts to run it locally.

  9. Any violation of these rules, rules from the FAQ section, rules from the contest announcement or rules that were accepted during the registration will lead to penalty provisions, including disqualification.

Standings

  1. During the contest the current results' table is available to the contestants. The table shows the current place of each contestant. The table also contains the information about the hacks and the history of submissions of each contestant.

  2. All intermediate results are unofficial.

System Testing and Final Standings

  1. After a contest is over, the results of the contestants' solutions' judging on the main set of tests are published.

  2. The main test set is used to judge verified solutions, i.e., the solutions that meet all these criteria:

    • passed all pretests;
    • are the last submitted solutions of each contestant for each problem;
    • haven't been hacked.
  3. A problem is considered solved by the contestant if the contestant's solution passed all tests from the main set of tests.

  4. A solved problem brings to the contestant the score, equal to the pre-score of his solution for this problem.

  5. A contestant's result is the sum of points for all problems he has solved plus points for hacks.

  6. In the final results' table the contestants are listed in the order or the results' decreasing. If two or more contestants have the same result, they share the same place.

  7. The judging is performed on computers Core 2 Duo E6750, 2.66 Ghz, 3Gb of memory.

Intellectual property

  1. The rules below are used each time if for a particular round there are no separate rules. Competitors retain ownership of all intellectual and industrial property rights (including moral rights) in and to Submissions.

  2. As a condition of submission, Competitor grants Codeforces, its subsidiaries, agents and partner companies, a perpetual, irrevocable, worldwide, royalty-free, and non-exclusive license to use, reproduce, adapt, modify, publish, distribute, publicly perform, create a derivative work from, and publicly display the Submission.

  3. Contestants provide submissions on an "as is" basis, without warranties or conditions of any kind, either express or implied, including, without limitation, any warranties or conditions of title, non-infringement, merchantability, or fitness for a particular purpose.

Full text and comments »

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