PavelKunyavskiy's blog

By PavelKunyavskiy, 23 months ago, translation, In English

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 :)

Also, you can donate to pavelkunyavskiy.crowdforces.near, to help pay for outsourcing some work, but that’s not necessary.

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.

Tags ioi
  • Vote: I like it
  • +1449
  • Vote: I do not like it

| Write comment?
»
23 months ago, # |
  Vote: I like it +380 Vote: I do not like it

I propose to give PavelKunyavskiy the official title of IOI-hero. Bravo!

»
23 months ago, # |
  Vote: I like it +8 Vote: I do not like it

OMG. ORZ.

»
23 months ago, # |
  Vote: I like it +13 Vote: I do not like it

I use gmail to login and it seems that option is not available. How can I login to do the problems?

»
23 months ago, # |
  Vote: I like it +5 Vote: I do not like it

Fire!

»
23 months ago, # |
  Vote: I like it +1 Vote: I do not like it

Awesome, great work! Thanks a lot!

  • »
    »
    23 months ago, # ^ |
    Rev. 2   Vote: I like it +61 Vote: I do not like it

    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.

»
23 months ago, # |
  Vote: I like it +8 Vote: I do not like it

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?

  • »
    »
    23 months ago, # ^ |
      Vote: I like it +34 Vote: I do not like it

    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.

  • »
    »
    23 months ago, # ^ |
      Vote: I like it +8 Vote: I do not like it

    From what I see here in comments, it's maximum submission points because of codeforces peculiarities.

»
23 months ago, # |
  Vote: I like it +3 Vote: I do not like it

Pog! Looking forward to be humiliated as a ghost participant lol

»
23 months ago, # |
  Vote: I like it +15 Vote: I do not like it

Pavel ORZ !

»
23 months ago, # |
  Vote: I like it +46 Vote: I do not like it

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.

»
23 months ago, # |
  Vote: I like it +22 Vote: I do not like it

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.

»
23 months ago, # |
  Vote: I like it +5 Vote: I do not like it

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.

  • »
    »
    23 months ago, # ^ |
      Vote: I like it +12 Vote: I do not like it

    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.

    • »
      »
      »
      23 months ago, # ^ |
        Vote: I like it +26 Vote: I do not like it

      2021E should be easier for 2GB but requires quite a lot of constant optimization for 1GB.

      • »
        »
        »
        »
        22 months ago, # ^ |
          Vote: I like it +3 Vote: I do not like it

        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.

        • »
          »
          »
          »
          »
          22 months ago, # ^ |
            Vote: I like it +23 Vote: I do not like it

          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.

»
23 months ago, # |
  Vote: I like it +13 Vote: I do not like it

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

»
23 months ago, # |
  Vote: I like it +12 Vote: I do not like it

thank u so much Pavel

»
23 months ago, # |
  Vote: I like it 0 Vote: I do not like it

anyone else getting error when trying to start ioi 2002 day 2 virtual contest?

»
23 months ago, # |
  Vote: I like it 0 Vote: I do not like it

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 .

  • »
    »
    23 months ago, # ^ |
      Vote: I like it +20 Vote: I do not like it

    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.

»
23 months ago, # |
Rev. 2   Vote: I like it +15 Vote: I do not like it

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).

»
23 months ago, # |
Rev. 3   Vote: I like it +37 Vote: I do not like it

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.

  • »
    »
    23 months ago, # ^ |
      Vote: I like it +37 Vote: I do not like it

    What do you think about allowing to view solutions after you solved the problem? Will it be good compromise here?

    • »
      »
      »
      22 months ago, # ^ |
        Vote: I like it +17 Vote: I do not like it

      Should be possible to view other solutions after solving the problem now.

»
23 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Will IOI2022 hold an online mirror contest?

  • »
    »
    23 months ago, # ^ |
      Vote: I like it +25 Vote: I do not like it

    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.

»
22 months ago, # |
  Vote: I like it 0 Vote: I do not like it

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.)

»
22 months ago, # |
  Vote: I like it 0 Vote: I do not like it

great Sir

»
22 months ago, # |
  Vote: I like it 0 Vote: I do not like it

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.

»
21 month(s) ago, # |
  Vote: I like it +6 Vote: I do not like it

Auto comment: topic has been updated by PavelKunyavskiy (previous revision, new revision, compare).

»
21 month(s) ago, # |
  Vote: I like it -6 Vote: I do not like it

Auto comment: topic has been updated by PavelKunyavskiy (previous revision, new revision, compare).

»
17 months ago, # |
Rev. 2   Vote: I like it 0 Vote: I do not like it

There's a typo in IOI 2014 problem D: in the very last subtask, inputSeq[i] can be up to 1e9, not 1e6.

  • »
    »
    17 months ago, # ^ |
    Rev. 2   Vote: I like it 0 Vote: I do not like it

    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.

»
9 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Hi,Can you add IOI practice rounds.

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

    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.

»
9 months ago, # |
  Vote: I like it 0 Vote: I do not like it

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.

  • »
    »
    9 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    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 written output-only like IOI '03 D1C.

    • »
      »
      »
      9 months ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      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.

»
9 months ago, # |
  Vote: I like it 0 Vote: I do not like it

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.

»
9 months ago, # |
Rev. 2   Vote: I like it 0 Vote: I do not like it

Can you do see other's solution?Sometimes When I read solution and understood,Then I can't write that solution that's why Can you do visible other's solution? ~~~~~ I think it will be useful to much people! ~~~~~

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

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.

  • »
    »
    8 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    You can download grader files and check what is the problem. But it's a problem in statement, I'll fix it.

»
5 months ago, # |
  Vote: I like it +8 Vote: I do not like 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.

  • »
    »
    5 months ago, # ^ |
    Rev. 2   Vote: I like it +18 Vote: I do not like it

    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.

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

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 as long long ask(const std::vector<int> &w) and not as long long ask(std::vector<int> w) like it is usually done in every other IOI problem?

  • »
    »
    4 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    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>& vs vector<int> I have no idea, just reused what was in archive.

»
5 weeks ago, # |
  Vote: I like it +10 Vote: I do not like it

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?