Hello everyone.
Two years ago there was a post titled "Submitting IOI problems" and my comment there. I offered everyone to contact me via PM on Codeforces to get the access and be able to solve problems from past IOIs (starting with IOI 2003). What was important here is that PavelKunyavskiy and me took effort and made the system as similar to what was used on particular IOI as we could, including:
- Original tests from archives
- Tests grouping and correct subtasks scoring where applicable — you won't get 54 points if there are subtasks for 40 and 60 points — just like on IOI.
- Interactive problems with interactive I/O (say, "Aliens" from IOI 2007 or "Maintain" from IOI 2003)
- Partial scoring where you can get only a fraction of points per test, like "Reverse" from IOI 2003 or "Hotter Colder" from IOI 2010.
- "Encode-decode" problems, where your solution is executed several times in separate processes, like "Parrots" from IOI 2011.
- Open test problems where you submit answers only instead of solution, like "Forbidden subgraph" from IOI 2006 or "Maze" from IOI 2010.
- Graders like on IOI 2010 and further. Unfortunately, the "Black box" problem from IOI 2006 was also implemented as a problem with graders instead of running a real "black box" on our server which you can access remotely.
- "Odometer" problem from IOI 2012 where you had to submit a program on a specially invented language.
So far it was a closed judge available upon request only. As far as I remember, I've granted access to everyone who've asked — 150+ persons. Time flows and the judge eventually migrated to Yandex.Contest (the system used for Yandex.Algorithm) with help of lperovskaya. It still supports all of the above, but the registration is open for everyone and IOI 2015 is available there. Feel free to join!
Unfortunately, it's still a beta version and there are still some issues: no problem statements are visible in the interface, some labels may be in Russian only and graders for Pascal and Java may be non-working in some problems (C++ should work everywhere, though). Note that we use slightly different conventions for graders from what was on IOI (for the sake of consistency among all IOIs). You can download an archive with example solutions by clicking on the "Download" button right to the "Jury messages" link. If the button is not here, there is no archive with example solutions yet, but the format of graders should be very similar among all problems and we didn't change signatures of functions from IOI, so it should be fairly easy to "restore" the format.
I hope that will help all of you who are preparing for upcoming IOIs! By the way, if you have not advanced to IOI this year, I would highly recommend you to avoid reading several IOIs so you will have good problems preparing for IOI next year. It's hard to find good IOI-like problems.
The tests for Empodia (IOI 2004) are improved, but the change of constraints is not added in the English description (only visible in the Russian description).
Could someone explain how to submit a solution in a Makefile(I think that's what you're suppossed to do)?
You just send the source code.
Do I send the grader source code with my solution inside?
No. You need to write your solution to an external file.
I don't see how you can submit multiple files
You only need to submit the file you had to edit. The grader files are available on the server. If you get problems trying to include certain header files, try removing those includes and it should work.
You should implement all functions required by the problem in a single file and add
#include "grader.h"
in the beginning of your implementation to make use correct function signatures are used. This should be common for all problems regardless of what the problem statement says. E.g. it's alwaysgrader.h
and it's always single file, even in problem "Parrots" from IOI 2011 where they originally asked for to separate encoding/decoding into two files.Afterwards, you should submit your file using "make2"/"Make"/"Makefile" language (it's the only language available) and it will determine the language based on file's extension. You should use "Send file", not "Type here" as the extension won't be available in the latter case.
Say, you want to submit a solution for IOI 2012's "Last Supper" problem. This code, when submitted as
some-sol.cpp
, passes example test case and nothing more:You should not include any implementations of grader's functions, split your solution across several files, etc.
Hello, I think some bugs have arisen on the Yandex IOI judge. (2014 Holiday)
for a submission that has previously received points.
I believe it's a temporary issue for all contests on Yandex.Contest right now (there are similar errors in Yandex.Algorithm mirror contest). I've notified those who are in response of the testing system, wait for an update.
Example solution for problem "parrots" from IOI 2011 is here. You should submit all required functions in a single file, header file is still single and it's called
grader.h
. Note that you still cannot pass any data fromencode
todecode
Thanks for your website. But why do I always get CE when submitting problems? What should I pay attention to when submitting?
The compiler error message should be visible if you receive "Compilation Error" outcome. Mind providing a link to your submission and/or the exact message of the compiler? It's better if the latter is uploaded to pastebin or something to avoid cluttering comments section on Codeforces.
The link is here.
The Compilation log is that:
grader.h
should be in quotes, not in brackets.I tried
#include "grader.h"
and it got CE again..The Compilation log is that:
lperovskaya, PavelKunyavskiy, would you mind taking a look?
All you need to do is to submit your solution as a file. I got exactly the same error when i copy/paste my code.
right, disabled plaintext submit for this year and will work on others
I tried to submit a file,but it got CE again...
The Compilation log became:
You shouldn't mark your implementations as
inline
.Well..Thank you for you help.
I have passed the tests..