Our team from Indian Institute of Technology — Guwahati, comprising DestineDude, __Lazarus__ and me, is a clear victim of such an obvious mistake in the selection process for ICPC Asia Amritapuri Regional Contest via ICPC India Preliminary Contest that must and should be rectified to keep alive the ICPC standards.
We were All India Ranked 12th in the final ranklist after the first contest, 2nd in our institute (in Amritapuri) and 1st (in Chennai). We were quite happy with our performance and definitely were getting selected for both Amritapuri and Chennai Regionals (which we filled out for), until we got the news for the recontest and were disappointed, but still were confident enough to make it through the second time.
The Catch
- Now, in the recontest we were All India Ranked 59th in the final ranklist and 3rd in our institute (in Amritapuri) and 1st (in Chennai), after solving 4 problems (clearly mentioning, solving and ACing "Small Indices" problem within the intended time complexity), and should have been surely selected for both the regionals again, but we aren't (in one of them as of now).
- The funniest / silliest part: Another team from our institute, which solved only 3 problems and clearly performed worse than us, was selected instead of us. Yes, as silly as it sounds.
The Loophole / Glitch:
- So, it turns out that in the second contest, the test cases for "Small Indices" problem were very weak, weak enough to pass O(N^3) solutions where O(N^2) was the intended and limiting time complexity. Now what's the best solution that the organisers could come up with?
- A very obvious sounding, superficially thought of a solution, make two ranklists R1 and R2, first one with considering the small indices problem, second one without considering the same so that other teams whose ranks were affected due to some teams passing their solutions in cubic TC would get a fair chance and select teams from both according to the usual criteria for selecting in regionals and proceed with the union of both.
- This rule is fair, until the word UNION is given its importance. Otherwise, it can (and has) produce absurd results.
What they did instead:
- Literally kept the number of seats for the regionals nearly the exact same (increased only 19 slots) as they were before and selected roughly around and only 3 teams from each institute (which clearly violates the union criteria).
- I completely understand and comprehend here the rules that they announced on their website for selection, where they kept a variable k<=4, and did not announce what k would be, but it is 3 in the most general cases according to the past year trends and it has to be 3 (morally) to keep the process fair this year.
- This lead to this worst conclusion, which I could not have imagined in my worst nightmares. What happened now was they are not taking union of two sets of 3 teams each, instead they are taking a union of two sets of 3 teams each, ranking them according to the best ranks from both R1 and R2, and truncating off all the teams from the union except the first 3.
The result it produced (this is lowkey so funny, ironic & visibly WRONG):
- Now consider two teams, T1 and T2 both from the same institute.
- T1 solved 4 problems, bashing the toughest of among the four (Small Indices) within the intended time complexity, and T2 solved 3 problems (which doesnt include Small Indices). So now which team should technically get selected, obviously T1 (as you might say, but not the organizers) since it has solved entirely 1 problem more.
- But, guess what, T2 is selected and T1 isn't.
- So, here are the details.
-
- T1 ranked 59 in R1 and 111 in R2
-
- T2 ranked 106 in R1 and 21 in R2
-
- Since T2 ranked better in R2 than T1 in R1, T2's best rank is considered (21) over T1's best rank (59) in selecting the third team for Amrita. But the main underlying fact that is getting ignored here is that this doesnt in any way reflect the relative performance of both of the teams and T1 has still clearly performed better than T2, by ALL means.
Some obvious fixes
- There has to be some outliers like us in this system of rules who definitely deserved getting selected and aren't.
- The only reason for which I thought that rejudging all the ACed solutions of the contest isn't as helpful was that teams that got AC during their contest won't try to rectify the solution (which might be buggy or inefficient), which they would have had they got any TLE or WA.
- But the worst part is that, rejudging would take out those teams who submitted O(N^3) solution and got an AC on that, but not rejudging and splitting the original ranklist into two would take out teams like us, who submitted the solution in intended TC and were better than others who didn't submit or did submit in cubic complexity. It's very clear to decide what's worse.
- Or increase the number of seats enough so that keeping k=3 and taking the union of both ranklists still accomodates every team.
Plea
If any official or anyone who has any influence over the selection list for the Indian ICPC regionals is reading this blog, please consider this as a humble request or make necessary changes to prevent teams like us from being victim of this selection process, and make any exceptions to rules to ensure equal fairness.
- I have never felt so helpless and ruined in my life before. Being a victim of the system which clearly is wrong and buggy is just so sad. The Indian ICPC system can't conduct a proper contest (leave aside two chances to do the same) for advancing representative teams to the most prestigious ICPC. The system in which you perform so good (both the times) that your selection for going to regionals is almost certain and yet you see it all shattering off because of negligence of officials and their wrong policies.
- I don't even know whom to blame. Maybe my parents who did not move out of India before I was born (yes definitely angered sarcasm intended).
UPD : Yes, they did make some accommodations to select some teams facing the same issues as us :)