A collection of old BOI contests is now available at:

At the moment all contests from 2005 to 2018 are available. There are two ways to practice: you can start a virtual contest which is like the original contest (5 hours time to solve the problems), or then you can just upsolve the problems without limitations.

*Update Jul/15/2018: Years 2017 and 2018 have been added*

where can i find BOI solutions ?

Most BOI's have a website that contains model solutions. You can also visit the Lithuanian site that provides useful BOI archives:

http://www.lmio.mii.vu.lt/?p=viewarticles&id=15

ty

https://www.youtube.com/watch?v=mrwT5BBsT2M

Do we have something(Virtual Participation) like this for APIO,CEO and Balkan OI too??

The partial score isn't work for BOI 2010 , day 1 in virtual contest. Can you please fix it? Ty =)

There is no partial score in that contest, because no subtasks are specified in the task statement. It is true that the original contest had partial score; however for many BOI contests the original grouping of test cases is not available anymore, and the modern IOI rules are different. For this reason, only tasks with specified subtasks can have partial score in the BOI contest collection.

How to make an account?

There is a "Create account" link at the top of the page.

Oh i didn't see. Thank you

I can't find a virtual contest start button in BOI 2017 and 2018. Can you please fix it?

Thank you for your comment! It is fixed now.

Heh, I was just solving BOI 2018, day 2, problem A. As the saying goes, every problem has a simple, nice, incorrect solution, and I found one that passes despite being incorrect (I have a test it fails).

UPD: But I know how to fix that failing case.

my ideaHowever, what I didn't handle is that we still need to ensure there won't be 3 intervals (1st, 2nd, last) covering some unit segment.

~~Of course, if there are multiple choices of the last interval to add, then we can choose the one with minimal overlap with the 1st interval, so there will be another interval that's not in our covering and each segment in the overlap of the 1st and last interval is also covered by this interval (which is not in the covering, so it's in the opposite direction). The other case, when there's only one choice for the last segment, is harder and I don't know how to easily extend this solution to accomodate it. Any ideas?~~It turns out we can just add that last interval normally and remove the first interval from our covering without breaking it.To be precise, my solution gives covering of [1..13] with ([1..10], [3..11], [12..3]) and ([1], [2], [4]..[13]), which isn't valid, but there's a valid covering with ([1..10], [3..11], [12], [13]) and ([12..3], [4]..[11]).

This isn't even a solution made to pass the real tests, I just implemented what I thought was correct and missed the fact that having 3 intervals covering something is possible at the end...