Блог пользователя PavelKunyavskiy

Автор PavelKunyavskiy, 2 года назад, перевод, По-английски

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)

Теги ioi
  • Проголосовать: нравится
  • +1449
  • Проголосовать: не нравится

»
2 года назад, # |
  Проголосовать: нравится +380 Проголосовать: не нравится

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

»
2 года назад, # |
  Проголосовать: нравится +8 Проголосовать: не нравится

OMG. ORZ.

»
2 года назад, # |
  Проголосовать: нравится +13 Проголосовать: не нравится

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

»
2 года назад, # |
  Проголосовать: нравится +5 Проголосовать: не нравится

Fire!

»
2 года назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится

Awesome, great work! Thanks a lot!

  • »
    »
    2 года назад, # ^ |
    Rev. 2   Проголосовать: нравится +61 Проголосовать: не нравится

    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.

»
2 года назад, # |
  Проголосовать: нравится +16 Проголосовать: не нравится

It will be cool if codeforces fixes the problem with ioi style contests and subtasks become merged

  • »
    »
    2 года назад, # ^ |
      Проголосовать: нравится +6 Проголосовать: не нравится

    Well, 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.

»
2 года назад, # |
  Проголосовать: нравится +8 Проголосовать: не нравится

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?

  • »
    »
    2 года назад, # ^ |
      Проголосовать: нравится +34 Проголосовать: не нравится

    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.

  • »
    »
    2 года назад, # ^ |
      Проголосовать: нравится +8 Проголосовать: не нравится

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

»
2 года назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится

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

»
2 года назад, # |
  Проголосовать: нравится +15 Проголосовать: не нравится

Pavel ORZ !

»
2 года назад, # |
  Проголосовать: нравится +46 Проголосовать: не нравится

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.

»
2 года назад, # |
  Проголосовать: нравится +22 Проголосовать: не нравится

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.

»
2 года назад, # |
  Проголосовать: нравится +5 Проголосовать: не нравится

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.

  • »
    »
    2 года назад, # ^ |
      Проголосовать: нравится +12 Проголосовать: не нравится

    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.

    • »
      »
      »
      2 года назад, # ^ |
        Проголосовать: нравится +26 Проголосовать: не нравится

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

      • »
        »
        »
        »
        2 года назад, # ^ |
          Проголосовать: нравится +3 Проголосовать: не нравится

        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.

        • »
          »
          »
          »
          »
          2 года назад, # ^ |
            Проголосовать: нравится +23 Проголосовать: не нравится

          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.

»
2 года назад, # |
  Проголосовать: нравится +13 Проголосовать: не нравится

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

»
2 года назад, # |
  Проголосовать: нравится +12 Проголосовать: не нравится

thank u so much Pavel

»
2 года назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

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

»
2 года назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

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 .

  • »
    »
    2 года назад, # ^ |
      Проголосовать: нравится +20 Проголосовать: не нравится

    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.

»
2 года назад, # |
Rev. 2   Проголосовать: нравится +15 Проголосовать: не нравится

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

»
2 года назад, # |
Rev. 3   Проголосовать: нравится +37 Проголосовать: не нравится

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.

»
2 года назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Will IOI2022 hold an online mirror contest?

»
2 года назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Will IOI2022 hold an online mirror contest?

  • »
    »
    2 года назад, # ^ |
      Проголосовать: нравится +25 Проголосовать: не нравится

    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.

»
2 года назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

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

»
2 года назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

great Sir

»
2 года назад, # |
  Проголосовать: нравится +8 Проголосовать: не нравится

Will you make it possible to view other people's solutions like on the main platform? Would be really useful since not all IOIs have solution booklets.

»
2 года назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

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.

»
2 года назад, # |
Rev. 2   Проголосовать: нравится +8 Проголосовать: не нравится

Добрый день! Столкнулся с небольшим багом:

Задача, получив "частичное решение" все равно засчитывается как полное решение, вследствие чего последующие перепосылки, даже набравшие больший бал просто не отображаются в "Результатах". Скрины:

1:
2

PavelKunyavskiy, MikeMirzayanov, исправляемо ли это, или специфика полигона?

Upd. Исправлено, спасибо огромное!

»
2 года назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

Я не могу открыть задачи :(

Вылазит страничка с "Упс! Что-то сломалось на Codeforces..."

UPD: Снова работает

»
2 года назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

Добрый вечер! PavelKunyavskiy, столкнулся с ещё одной проблемой: решение теперь выдает вердикт "частичное решение", при этом со 100 баллами: https://ioi.contest.codeforces.com/group/32KGsXgiKA/contest/103777/submission/167331311

Upd. 11.08.22 исправлено. Спасибо!

»
2 года назад, # |
  Проголосовать: нравится +6 Проголосовать: не нравится

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

»
2 года назад, # |
  Проголосовать: нравится -6 Проголосовать: не нравится

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

»
2 года назад, # |
Rev. 4   Проголосовать: нравится 0 Проголосовать: не нравится

В IOI 2016, в задаче "B" есть опечатка в примере, там почему-то лишнее число 1 написано в первой строке.

»
23 месяца назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

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

  • »
    »
    23 месяца назад, # ^ |
    Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

    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.

»
15 месяцев назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Hi,Can you add IOI practice rounds.

  • »
    »
    15 месяцев назад, # ^ |
      Проголосовать: нравится +3 Проголосовать: не нравится

    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.

»
15 месяцев назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

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.

  • »
    »
    15 месяцев назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    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.

    • »
      »
      »
      15 месяцев назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      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.

»
14 месяцев назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

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.

»
14 месяцев назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

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.

  • »
    »
    14 месяцев назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

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

»
11 месяцев назад, # |
  Проголосовать: нравится +8 Проголосовать: не нравится

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.

  • »
    »
    11 месяцев назад, # ^ |
    Rev. 2   Проголосовать: нравится +18 Проголосовать: не нравится

    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.

»
9 месяцев назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

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?

  • »
    »
    9 месяцев назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    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.

»
9 месяцев назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

Добрый день, у меня случилась такая проблема , на IOI 2003 моя посылка link дает вердикт :"Решение «зависло» на тесте 1". Но когда я убрал быстрый ввод

 ios_base::sync_with_stdio(false);
 cin.tie(NULL);

у меня решение прошло на 100 баллов. Из — за чего зависит написания быстрого ввода. Вот посылка link. Можете ли объяснить.

PavelKunyavskiy

  • »
    »
    9 месяцев назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Как и написано в документации функции tie строчка cin.tie(NULL) приводит к тому, что любая операция с cin перестает делать cout.flush().

»
7 месяцев назад, # |
  Проголосовать: нравится +10 Проголосовать: не нравится

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?

»
4 месяца назад, # |
Rev. 2   Проголосовать: нравится +10 Проголосовать: не нравится

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:

  • submission without asserts — got RE;
  • submission with "return 0" on similar assert — got WA;
  • submission with earlier assert about cycle — got RE instead WA (so assert about cycle triggered).

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.

»
3 месяца назад, # |
Rev. 3   Проголосовать: нравится 0 Проголосовать: не нравится

I think I found untitest for most of the submissions(official one too?) for IOI 2004 Day2 problem B Phidias.

Test case:

EDIT: Or my coloring may be invalid.

How I found it