For the first time, the Italian national contest (valid for the selection of the Italian IOI team) will be mirrored into an online contest. The contest is primarily intended for high school contestants, but everyone is welcome to participate!
The contest timing will be USACO-like: it will be open for 14 hours but you will be able to compete for up to 5 hours (you can decide when to "start" your time window, after the login). Participation will be available upon registration to the Italian trainings website (localized also in english).
1. The problems will be available in both English and Italian.
2. The time window will start at 2016 September 16th, 10:00 CEST and will end at 23:59:59 CEST.
3. Tasks will be IOI-like (with graders) and you will have 5 hours to solve them.
4. The languages allowed are: C, C++, Pascal.
Note: you can decide when to start your 5 hour time window, but remember that the contest will end at 23:59:59 CEST regardless of your time window.
If you want to participate, you must:
- Visit the training website: https://cms.di.unipi.it
- Click "Sign up"
- Fill out the form and then confirm
- Visit the contest list: https://cms.di.unipi.it/contests
- Click on the OII 2016 National contest list entry
- Log in with the same username and password you used to sign up
- If the login is successful you are now ready to participate, just wait for the contest time window to start! (And maybe save the page in your bookmarks, so that you can quickly get back to it when the contest begins)
- When the contest starts, you will see a red button. Click it when you want to start your 5 hour time window!
- Good luck and have fun!
Can't wait??
This is your lucky day! You can participate right now to the OII 2016 Practice round (which sports very nice problems, authored by Delfad0r, mark03, cip999 and filippoqua) available until September 14th, 23:59 CEST (click here to see the countdown!). You just need to choose "OII 2016 Practice round" from the aforementioned contest list.
For this contest:
- You will have a 5 hour time window as well.
- The languages allowed are: C, C++, Haskell (sadly no Pascal!).
I'm really interested in how national competitions happen in different countries.
Why is Italian national contest being held so early? The study year has just started, how were students supposed to qualify or to prepare for it? And how is Italian IOI team formed?
The national contest is the first step towards the qualification for the IOI. The ~30 best ranked students are allowed in the next selection (which is a residential course session with a final contest). Then, after 2-3 more similar selections along the year, the IOI team is chosen in April-May.
To qualify for the national contest, easier competions are held in the previous scholastic year (in most schools of the country).
Nice problems!
the contest ended and results is still not available :(
Whoops, I forgot. Now the ranking is online :)
My solution for problem lungomare:
Let x(i) be D(i — 1), h(i) be P(i — 1) (I prefer 1-indexed :D).
Let f(i) be the minimum value to go from 0 to the i-th point and go refresh at the beach there. Then:
f(i) = min(x(i) + h(i), max(f(j), x(i) — x(j) + h(i) + h(j))) for all j from 1 to (i-1).
Observation 1: if there is some i such that x(i) + h(i) >= x(i + 1) + h(i + 1), then i-th point is useless, we can just go to (i+1)-th and get a better result.
Observation 2: if x(i) + h(i) < x(i+1) + h(i+1) for all i, then f(i) <= f(i + 1).
If we go from i to (i+1), then of course f(i) <= f(i+1).
If we go from k < i: assume f(i) > f(i + 1), then we can use the path of f(i+1), change the path (i-th point — beach at (i+1)-th point) to the path (i-th point — beach at i-th point) and get f(i) with smaller value (as h(i) < x(i+1) — x(i) + h(i+1)).
Observation 3: if -x(i) + h(i) <= -x(i+1) + h(i+1) then max(f(i), x(k) — x(i) + h(k) + h(i)) <= max(f(i+1), x(k) — x(i+1) + h(k) + h(i)) for all k > i, that means (i+1) is useless.
So, we modify x() and h() so that x(i) + h(i) < x(i + 1) + h(i + 1) and -x(i) + h(i) > -x(i+1) + h(i+1) (using a stack).
Now to compute f(i), we can use two-pointer, find the largest k such that f(k) <= x(i) — x(k) + h(i) + h(k), and we only consider k-th point and (k+1)-th point, as f() is increasing and -x() + h() is decreasing.
Just wonder if this solution is correct or not, since the test data seems quite weak.
I just can't believe how weak the tests for Lungomare were — 53 points, 100 points.
Is there a way to retry the problems now?
I enabled analysis mode now. You can retry accessing the contest https://cms.di.unipi.it/contests/
Can someone post the problem statements?
They are not visible on the judge now.
I enabled analysis mode now. You can retry accessing the contest https://cms.di.unipi.it/contests/