Due to technical reasons Codeforces may be unavailable on April 21st from 01:00-07:00 (MSK). ×

MikeMirzayanov's blog

By MikeMirzayanov, 8 years ago, translation, In English,
Hi everybody!

As some of you have already noticed, we are introducing the innovation &mdash a virtual contest system. I guess this term was invented as far back as in 2002, as we were working on the site http://acm.sgu.ru/. Besides we were the first ones to come up with and carry out the interesting idea: enable the users to run the past contests in a special mode that would imitate a real competition. It feels just like a real contest with real contestants competing alongside with the participant who writes a virtual contest.

The idea was a success and it was picked up by some online judges. Although frankly speaking, those ideas haven't been carried out by the many.

And now it's time to introduce the virtual contest system to Codeforces! Of course, the original Codeforces rules aren't easily converted to virtual form. That's why all past Codeforces contests will be available as virtual contests by ACM-ICPC rules. In light of oncoming ACM-ICPC subregional and regional contests it can be regarded as yet another opportunity to train.

Virtual contests are available to individuals as well as to teams. If you participate as a team, please make sure that the registered team represents all your team members and nobody else. If it is not the case, change it. So far there's only one contest available for alpha-testing: it's Codeforces Beta Round #76 (Div. 2 Only), but you won't have to wait much - soon all contests will be available in this mode. Now all the past contests are available as virtual contests.

When you take part in virtual contests please follow those simple rules:

  • don't participate if you've already seen the tasks;
  • don't participate if you only want to commit one problem or if you don't want/can't participate in the whole contest;
  • during the contest don't read tutorials, don't use somebody else's code, don't talk to other people;
  • try to make it an efficient and enjoyable training!

I expect some of you to write the offered contest virtually and share your impressions. For example, JKeeJ1e30 has already participated!

I hope you like the new opportunities. We'll add something, too, to give the system final flourish, but in any way we're waiting for your commentaries rich in interesting ideas and suggestions.

MikeMirzayanov and the Codeforces team
 
 
 
 

8 years ago, # |
  Vote: I like it 0 Vote: I do not like it
God job! Awesome!
We have ever used ACM Server and manual judge to simulate a virtual contest of codeforces. Now it becomes much easier to use a set of problems from codeforces to make a training contest.
8 years ago, # |
  Vote: I like it 0 Vote: I do not like it
Where is the link to create virtual contest ?
8 years ago, # |
  Vote: I like it 0 Vote: I do not like it
Good job! Good idea!
8 years ago, # |
  Vote: I like it 0 Vote: I do not like it
I just participated in virtual contest and it was awesome. I really liked it. Waiting for others... :)
8 years ago, # |
  Vote: I like it 0 Vote: I do not like it
there is a problem in time ,  it depend on server time or client time ??
  • 8 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it
    I had the same problem, and I could not create a virtual contest for the variety of teams ... Perhaps, I misunderstood the specifications ... but in the individual, it worked perfectly.
    Congratulations for the admins,,,
    I hope soon the rest of the contest, could be disponible.
8 years ago, # |
  Vote: I like it 0 Vote: I do not like it
Same question than Magdi +
Is there going to be able to hack codes of others? (sorry for my bad english, I don't know if it's a good traduction...)
8 years ago, # |
  Vote: I like it 0 Vote: I do not like it
Awesome. A good way to traing for future competitions (how can you confront with the future if you don't know your past).
8 years ago, # |
  Vote: I like it 0 Vote: I do not like it
I thought about this idea like a month ago. Now it become true, pretty cool !
Thanks, Mike and the team. 
8 years ago, # |
  Vote: I like it 0 Vote: I do not like it
Mike, here is a feature request. Considering all the submissions are stored in the database, would you please add page up/down function for status page of each problem so everyone could view every successful submission of a specific problem? e.g. http://codeforces.com/problemset/status/112/B , only ONE page can be showed in any sorting methods currently, this is inconvenient sometimes.

8 years ago, # |
  Vote: I like it 0 Vote: I do not like it

Another feature request. 
This list is convenient for training : http://codeforces.com/problemset

The problems that are not always marked "green" in the list after being accepted.

It seems the bug happens for problems that appear in both divisions.  For example:

If  A,B,C,D of round 76 div2 are solved, then only 94A and 94B are marked, but not 93A, 93B.

  • 8 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it
    I would rather say the inconsistency is a little bug. Admins, please fix it.
8 years ago, # |
  Vote: I like it 0 Vote: I do not like it
. Sounds interesting .. ) ..
8 years ago, # |
Rev. 3   Vote: I like it 0 Vote: I do not like it

I think the virtual contest idea is absolutely fantastic.
Now.. I don't even know if I could call this a feature request, as I'm not sure how hard it would be to do, but here it goes..

I think it would be awesome if anyone could start a 'replay' of a contest, that is, if they could start their own virtual timer for a selected CF round and view the virtual scoreboard which would be updated depending on the submission times from the original round, and also include their own current score. That way you would actually be able to feel as if it were a real contest because most of the major coders would be on the scoreboard and you could see how well you're doing against them. Maybe even hack attempts can be incorporated..

I guess it must be too complicated to do, but I just thought it would be cool :D
  • 8 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it
    Isn't it the same which is currently implemented? The only difference now is that the virtual contest is being run by ACM rules instead of Codeforces rules. I hope it will be changed soon.
    • 8 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it
      You're right, I talked before I actually tried it :D
      It seems perfect, except the hacks.
8 years ago, # |
  Vote: I like it 0 Vote: I do not like it
Another feature suggestion. 
The places where LOCKS locate in are ideal for showing success rate when a contest is over.
8 years ago, # |
  Vote: I like it 0 Vote: I do not like it
Now all the past contests are available as virtual contests.
===
Теперь все прошедшие соревнования доступны как виртуальные контесты.
8 years ago, # |
  Vote: I like it 0 Vote: I do not like it
Feature suggestion:
There should be a pointer that points to the maximum rating for each contestant in his / her graph.
8 years ago, # |
  Vote: I like it 0 Vote: I do not like it
Glad that we can now virtually participate realtime in past contests. The feeling closed to real contest. :D

Perhaps these are bugs:

1) After virtual participation, the accepted problems are not marked green at the page:
http://codeforces.com/contest/## (### is the contest ID)
(while, they are marked green at http://codeforces.com/problemset)

2) During virtual participation, I saw some submission with negative submission time at the page:
8 years ago, # |
  Vote: I like it +15 Vote: I do not like it
A few hours ago, I tried this awesome Virtual Contest feature. Good job, CodeForces team.

That said, I wish to propose a few enhancements:
(1) After a failed submission (eg, WA), the link to the submission source code should be disabled.  This is because we could see the failed test case at the end of the source code page.  In the real contest, we would not be able to see it.

(2) On the start time selection screen, please specify which time zone is used.  Better yet, let the user specify the time zone.

(3) Display (somewhere) your expected ranking based on your current rating and the competitors in the real contest.  Better yet, at the end of the contest, show your simulated rating change based on your actual rank in the virtual contest.

7 years ago, # |
  Vote: I like it 0 Vote: I do not like it
"Invalid day or time format"

 I receive this message when I try to participate in Saratov Contest. I enter the date as 10/22/2011 and the time as 23:35, is there anything wrong with that?! I hope you determine which time zone is this system working with as I am confused.

Can more than one person participate at the same virtual contest? Or only me at a time?
  • 7 years ago, # ^ |
    Rev. 3   Vote: I like it 0 Vote: I do not like it

    There is actually AM-PM time system... at least that's what I see with my profile settings.

  • 7 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it
    May be you should try to enter date in the DD.MM.YYYY format?
7 years ago, # |
  Vote: I like it 0 Vote: I do not like it
How can you change start time for a virtual contest? Thanks!
»
6 years ago, # |
  Vote: I like it -72 Vote: I do not like it

Great idea, But i'm thinking about the rating, will it be updated??? if not then it'll be very sad..

  • »
    »
    6 years ago, # ^ |
      Vote: I like it +9 Vote: I do not like it

    of course not. This would destroy the whole rating idea.

»
6 years ago, # |
  Vote: I like it 0 Vote: I do not like it

does virtual participation in past contests will increase rating ??

»
4 years ago, # |
  Vote: I like it +2 Vote: I do not like it

It would be a good idea if you could invite others (which have Codeforces accounts, of course) to participate in your virtual contests.

If this exists, sorry but I didn't know.

»
4 years ago, # |
  Vote: I like it 0 Vote: I do not like it

I think it would also be great if just pretests would be used in virtual contests where it is possible or at least to have a choice, as long as I want to know how I would suceed in real round.