The International Olympiad in Informatics 2022 is scheduled to start in a month. To help you prepare today, we announce an online judge with IOI problems. Right here, on codeforces.
Available now
On https://ioi.contest.codeforces.com/ you can find a contest for each day of each IOI contest since 2002. Participate virtually in a 5-hour contest or simply upsolve problems there! Virtual participants will appear in separate scoreboards for each year as well as in an upsolving scoreboard. Don’t forget to disable coach mode to appear in the upsolving scoreboard.
Future work
We have at least some problem materials for contests since 1998, but IOI has had competitive programming problems since 1994. Even if these problems are not very useful for training, they have significant historical value. Unfortunately, early-year materials on ioinformatics.org are incredibly bad, so if you have something (e.g., solutions, interactor, checkers, library sources), please contact me right away!
I am also considering adding original contest results as ghost participants to the scoreboards.
Let me know in the comments, what else would you like to see in the IOI archive?
How to help?
I'm sure some problems are misconfigured. The most probable errors are tests in wrong subtasks or changes in grader not mentioned in the problem statements. Let’s find them in upsolving mode, to avoid ruining the training process for contestants. If you have solutions (preferably partial solutions), please, become an early tester. Report issues via github repo. Pull requests to problem statements and validators are also always welcome there!
Please, contribute with contest materials for earlier IOI!
If you are a member of an IOI committee, help the project a lot by enforcing a better archival process for the future contests. In particular, it would be great to have as part of the public archive:
- Statements in markdown
- Any kind of non-English statements
- Test data generators and tests generation command lines
- Any description of solutions intended behavior or score
- no new archive format every year :)
Special thanks
- MikeMirzayanov and geranazavr555 for implementing a lot of stuff in Codeforces and Polygon
- ligaydima , Dimitrys and especially Masha237 for help converting problem statements to polygon format.
- lperovskaya for maintaining archive on contest.yandex.ru/ioi, which become a great material source, as well as for proofreading this text
- Petr for solutions and other materials of IOI2002 (and IOI2000, and IOI2001 I hope to publish later).
- eduardische for showing me the old IOI site with problem materials, and Martins Opmanis for maintaining it.
- yeputons for original archive resources and idea back in 2011
- Mazaalai for better than original one solutions of IOI2003-reverse
Updates
10.08.2022: IOI 2022 day 1 is available.
13.08.2022: IOI 2022 day 2 is available.
30.08.2023: IOI 2023 day 1 is available.
01.09.2023: IOI 2023 day 2 is available.
03.09.2024: IOI 2024 day 1 is available (no statements now) 05.09.2024: IOI 2024 day 2 is available (no statements now)
I propose to give PavelKunyavskiy the official title of IOI-hero. Bravo!
OMG. ORZ.
I use gmail to login and it seems that option is not available. How can I login to do the problems?
Use https://codeforces.net/passwordRecovery to recover the password.
Fire!
Awesome, great work! Thanks a lot!
A small suggestion: I think it would be nice to also include the pdf statements for the problems in contest materials.
UPD: Also would be good if we could see others' solutions.
Thank you so much for the hard work! I just have IOI_19 virtual yesterday via stopwatch xD and it was such a pain. You are really a live saver! orz
I have a small query, will the scoring system be based on maximum subtask points (as IOI) or maximum submission points?
Unfortunately, it makes the model much harder, it's not enough to know the scores of all submissions to calculate the overall score. So it probably won't be fixed in nearby future. But I think it should already choose maximal score over submissions, which helps in many cases.
Ooh, I understand :) Thanks again!
From what I see here in comments, it's maximum submission points because of codeforces peculiarities.
Pog! Looking forward to be humiliated as a ghost participant lol
Pavel ORZ !
It will be better if you can add the links to official/unofficial editorials :) Also, there can be a comment section like we have in Codeforces Rounds so that anyone can share his/her approach.
Thanks for the archive!
Some feedback from me: I think the line spacings need a bit of improvement. In particular, I find that IOI 2021 Registers statement is a bit hard to read compared to the pdf version.
The official time limits for all IOI2021 problems were 2GB instead of 1GB. It seems that 1GB is the maximum specifiable from Polygon, but after you import the problems to Codeforces, you can manually increase the memory limit to 2GB.
I was asked to set 1GB by MikeMirzayanov. I didn't find problems, for which it should be really limiting. But we will consider changing it later. Anyway, the ability to set bigger ones would be useful for future problems.
2021E should be easier for 2GB but requires quite a lot of constant optimization for 1GB.
Can confirm this. As part of the Scientific committee involved in IOI 2021, we raised the memory limit (for all problems) to 2GB just because of this.
Ok, I've increased ML to 2GB for all 2021 problems. Hope it will not break too much stuff. Also, it seems not working on 32-bit compilers, which can be confusing. I'll try to forbid them, leaving only 64-bit ones.
Have been working a part time job and studying German language in a course for nearly 9 months next week i will finish my course can't wait to go back here i miss problem solving a lot my level is so shit i forgot nearly everything but will try hard to remember everything and get better
thank u so much Pavel
anyone else getting error when trying to start ioi 2002 day 2 virtual contest?
Is it sure that all the problems there are correct and has no problems in submitting the solution?s, for example my solution is correct but there is a problem in the test cases or time, because you will not be happy if you spent lots of time to solve the problem and getting(WA) and then it appears that there was a problem in the statement or in the judgment, or test cases .
As it said in the post, I'm quite sure there are bugs in the problems, but I hope not too many of them. In most problems, I have only 100-point solution, so wrong subtask scoring is quite probable.
Currently nowruz from 2017 doesnt seem to be working correctly. I submitted my outputs that got around 70 points on oj.uz and it got 100 points here.
Also since you guys added the sample in the input file, the range of the important test cases goes from 2 to 11 instead of 1 to 10 like the original, and its kind of aesthetically unpleasing and annoying to format (ofc, just a nitpick, the 100 points thing is much more important lol).
Fixed
As for general feedback, i really like you guys named graders like "problem-a/b/c-grader.zip", as it was really annoying when you download graders from oj.uz and they all have the same name. I also appreciate the ability to vc those contests (even though i will probably not vc them on cf this year since there could be a error in the grader).
I would really like if it was possible to see other people's submission as SlavicG said. The upside of getting to see the way top coders implement solutions outweights a couple of clowns on the leaderboards so much (you can also just copy the solutions from oj.uz also, so there is no way to stop them to begin with).
Anyways, thanks for putting the work in.
What do you think about allowing to view solutions after you solved the problem? Will it be good compromise here?
Should be possible to view other solutions after solving the problem now.
Will IOI2022 hold an online mirror contest?
I'm not related to IOI officials in any way. I'll try to provide the contest on codeforces as soon as I get materials, but I see no reason to get this material to me earlier than the contest start, and during the contest, the orgs have more important issues. Also, as you can see from jonathanirvings post they are kinda already busy.
But if they are interested, I can try to set up everything for an online contest on codeforces the next day after the official contest, for example.
Is it possible (please) to have an archive of ejoi problems on codeforces ? I know there is on oj.urz, but there are some problems missings (for example waterfront, xpart, etc.)
great Sir
Will you make it possible to view other people's submissions like on the main platform? Would be really useful since not all IOIs have solution booklets.
Auto comment: topic has been updated by PavelKunyavskiy (previous revision, new revision, compare).
Auto comment: topic has been updated by PavelKunyavskiy (previous revision, new revision, compare).
There's a typo in IOI 2014 problem D: in the very last subtask, inputSeq[i] can be up to 1e9, not 1e6.
F: Apparently you have to pass 4th example to submit your solution to subtask 3, but 4th example is large, and it doesn't satisfy the restrictions of the 3rd subtask.
Hi,Can you add IOI practice rounds.
I don't really have data for lots of them, also, that's a log of work, which doesn't sound valuable enough.
On the other side, if someone prepare them as polygon contests, I would be happy to add.
How does one submit to output-only problems? For example, the XOR task from IOI 2002 is output-only, but uploading a zip file fails with
Field cannot contain binary data
. Only some versions of C++ are shown in the language options, and there is no option for archive files.I believe that in this problem we read the input from stdin and print the answer to stdout. The problems which requies you to submit a
.zip
file should have a yellow box writtenoutput-only
like IOI '03 D1C.You seem to be right; thanks for letting me know. This means that the problem statement needs to be updated though, since it says it's output-only.
In IOI 2011 day1 problem:garden.I'm trying to solve 1-st subtask.When I submit my code gets wrong in sample test case 2.And its halted to subtask 1.but there's no intersection in sample test and subtask 1.Can you fix this problem.I hope you will understand.
Fix, but I will not rejudge everything.
I suppose cave.h isn't uploaded IOI 13 D2 Problem Cave. The verdict is Compile error here but passes at oj.uz. Can it be checked please.
You can download grader files and check what is the problem. But it's a problem in statement, I'll fix it.
For 2005 problem E please specify that the inputs are guaranteed to be winning and that 50% of the test cases have dimensions not exceeding 25. Also for problem C I think the memory limit need to be lower (16MB) as it's intended to be done in O(1) memory.
Thanks, I'll already fix statement, and will rejudge problem C with smaller limits soon. Editorial mentions, that only O(1) memory solutions was intended to pass.
But please, use github issues to report problems. It's too easy to lose them here.
I don’t know how to use github, my apologies.
In IOI 2018 day 2, problem F. Meetings, It seems like you automatically get 0 points if you fail any samples, even though samples 1, 3 and 4 shouldn't be included in subtask 3 ($$$H_i \le 2$$$). For example, check the diff of these submissions:
Also, in problem E: Highway Tolls, why is
int64 ask(int[] w)
implemented in the grader aslong long ask(const std::vector<int> &w)
and not aslong long ask(std::vector<int> w)
like it is usually done in every other IOI problem?Fixed groups dependencies, actually 2 test shouldn't also be included in group 4. I've rejudged your submissions. Probably, rejudging all is not very useful.
As for
vector<int>&
vsvector<int>
I have no idea, just reused what was in archive.I can’t submit solutions to some problems anymore, specifically 2021 Day1 P1, and more.
When I go to the submission page, the language selection has no options. Is that the case just for me? It been like that for a week. Is it a problem with the website? Should I try to replicate the appropriate request to the server manually in the meantime?
Should be fixed now, you can submit again.
It seems that problem Parks (2021 Day1 C) has incorrect test groups.
19-th test (shown as "group 2-4") contains test with cycle.
But subtask 4 is specifically says that "there is only one way to connect fountains" (so no cycles by definition).
Test is large, but we wrote assert $$$EdgeCount == 2 * (n - 1)$$$ — and it failed on this test:
On the oj.uz same code gets 25 points instead of 5 (1 and 4 subtasks), so it seems that problem is with Codeforces test partition.
Fixed.
I think I found untitest for most of the submissions(official one too?) for IOI 2004 Day2 problem B Phidias.
Answer is 2, mine, some of others too, output 4 but gets 100 pts.
EDIT: Or my coloring may be invalid.
I stress tested mine 100 pts submission with mine 50 pts submission, then I found test and checked with some other submissions. I think one of my submissions is wrong, idk which.