I wrote a comment for this post by AmShZ and it became too long, so I made a separate blogpost.
Contains a bit of the spoiler for 2026 day 2 problems.
On the title
I define heuristic problems as problems for which there is no reasonable way to infer the score of your solution (full or partial) solely from the problem statement PDF. Your score depends not on the objective merit of your solution, but on what the author decided to put in the input file.
Magic City has a solution that could reasonably be inferred solely from the PDF. It does not admit any heuristic that scores well. Therefore, I don’t think it is a heuristic problem.
I highly object to heuristic problems in top-level contests, especially for high school students. But I don’t think this was an issue for IOI 2026, so I would not open that can of worms here.
Problems too hard
I think the main recurring issue with the IOI (not specific to IOI ’26) is that, apparently, there are no easy problems. Not only that, it seems to me that the SC has gotten comfortable with this and settled on an unspoken protocol: use the 80-point mark as a sort of “consolation prize” and make full score totally not worth pursuing, creating an artificial “easy problem” while effectively saying, “You’re good enough, so give up.”
Classroom Game is a great medium problem up to around 80 points, which many participants got just there. So you have 80 points, and there are 20 points remaining for getting rid of just one bit. What does that mean?
- Should I continue because the last 20 points will be easy as indicated by its score?
- Should I stop because those 20 points mean, “I gave you 80 points, now get the f*** out”?
Oh, and you can write some boilerplate to scrape off about 7 points in subtasks.
The contestants would have no way to figure out, but it turns out that the answer is the latter. The model solution seems to recover the permutation $$$P$$$, which is “hacking the adversary” in my book. This is weird: it was a perfectly normal medium problem. What is the purpose of this last subtask that worths so less, requires a flawed adversary (who decides to settle with fixed $$$P$$$) and removes only one bit? If the full solutions were cut off at $$$C=3$$$ (or 13 bits), we would have a perfect medium problem.
I also want to mention that the last IOI had more of this insistance on the 80-point cutoff which made many problems weird. Remove the time-wasting heuristic Part 2 of the Triple Peak, and voilà, we would have had a medium problem. This new submission format is not of student's interest and is not a bragging point. Obstacle is a totally nice problem until the artificial $$$L = 0, R = M - 1$$$ restriction guts it. People solved a boring artificial problem, get 83 points with a solution that is not worth 83%, and are forced to leave dissatisfied because they learned nothing from the subtask. This is a bad idea, and I know that ainta disagrees with this idea.
Fractional scoring is not a solution
There are problems that are unsubtaskable and ends up in a binary scoring, because of the two major reasons:
- The problem just hinges on an aha moment (or known tools). Examples are Partition from IOI ’26, Souvenir from IOI ’25, and Islands and Circuits from IOI ’22.
- The problem has a step-by-step solution but is just hard to begin -- examples are Hieroglyphs from IOI ’24, Beechtree from IOI ’23, and Keys from IOI ’21.
Both types of problems had existed for a long time, but they seem to be becoming more common, and remember that IOI problems these days are very hard. We will see more tied scores if there are more such problems. This is where the SC started to use fractional scoring for non-batch problems. The idea is to identify a problem that can be graded fractionally and assign a scoring function to judge how good the construction is. Let’s see how this worked out:
- IOI 2026 had three(!) fractionally scored problems, in response to an almost completely binary problem set. Individually, these fractions are quite reasonable, and they do assess progress on each problem well, although it is less clear when taken as a whole. There are 19 silver medalists who are 20 points short of the gold cutoff (361.12). 20 point margin is narrow. The way to get those 20 points is to either do well on P2, write special cases for P4/P6, or be less suboptimal on P5. I do not think this is a good way to assess so many people around the gold cutoff, especially the second and third part.
- IOI 2025 had two fractionally scored problems. I think both problems were in the realm of “make a small modification and increase your points a bit,” so this encourages a heuristic-like approach. Why solve problems when you have this roulette that might give you an epsilon increase? On the other hand, there were only 5 silver medalists who were 20 points short of the gold cutoff, so this fortunately didn't affected much.
When people from the ICPC regionals suggested the same idea, the reaction was mostly negative. People said it might work in IOI but would not work in ICPC. It doesn't -- it is not working in IOI either. In the not-too-distant past (I think 2023 is an exceptionally good example) people genuinely worked to create good problem sets where the subtasks provided clear feedback on progress and also served as good tiebreakers. I hope IOI can resurrect this trend, or at least, if you are going to propose an unsubtaskable problem set, just give more medals, like in 2014.
On Qingyu's response and some philosophy
I think Qingyu's take on this is also concerning (I agree with everything he said except the last paragraph). The example of a constructive problem in this IOI is Magic City. I do not consider it the most interesting problem, and I think people have mixed feelings about it. I understand the merit of it being optimal and stuff, but for contestants, you just divide into $$$O(1)$$$ classes, try some mangling of cliques, find one of the $$$O(1)^3$$$ cases where it breaks, fix it, repeat... Overall, it is a pretty annoying problem. Better students will come up with the right pattern quickly, but this doesn't strike me as an example that original tasks have a constructive flavor. At the end of the day, these kinds of problems are the ones that get AI-ed and are used to grill math people.
What I do agree is the following. If you generate a slop batch problem, it is more likely to be a duplicate of something, but if you generate a slop interactive problem, such an occurrence is less likely. Problems of the type “Alice encrypted something with a trash crypto system (add MEX/XOR to your liking), Bob got the message, and he needs to crack the code” can be proliferated infinitely, and nowadays you have LLM to solve whatever bad crypto you came up with, right?
I'm worried about the following scenario -- people generate hard interactive problems that are not duplicate, feed it into LLM and solve it, and the IOI randomly accepts it because they have obviously not seen it and it is constructive-ish. I think this as a doomsday scenario for the programming contests at large, and I consider APIO to be well on this track even before the existence of the LLM (circa 2022~2024) so that I stopped caring. I don't believe people consider APIO a serious contest as much as it used to. There is no real indication that IOI is heading this way, but if the SC is operating under such a bias and is just pessimistic about the idea of “good batch problems” at large, I think this spells doom.
There are problems that hinge on a single “aha moment,” and problems that require patience and depth of thought. I think this year's problemset (Day 2 at least) is more of the former, and probably this is what AmShZ meant by “solutions do not have enough depth.” What if people just do not believe in the depth of a problem and see it as merely “complicated” if its main ideas do not admit a TL;DR? I have detailed the short term effect above. For the long term effect, I think we should foster mindsets that give people the power to ponder hard problems. I think the importance of these mindsets is only increasing over time—unless you give up and believe in total human destruction (which is unfortunately a fashionable position). So I think there needs to be a shift in this direction.
On SC
One of the main responses from the SC is that there are fewer problem proposals. This is a sort of problem everyone faces and everyone can relate, and I can kind of believe that people generally submit hard tasks or non-batch tasks to IOI.
However, national olympiads around the world basically function by using batch problems of easy-to-medium difficulty. Of course, their standards are lower than IOI’s, but their constraints on proposals are much more restrictive.
I work on our national OI: we are always short of good proposals, and we will never receive anywhere near the number of tasks that IOI receives. However, we still use around 12 tasks each year at a difficulty level that is exactly what IOI is missing. Most of them are batch tasks, too. Then again, my proposal for a medium batch problem was rejected in 2023.
I am not arguing that the SC should use my problems. I am not arguing that national olympiads around the world operate at IOI standards. It is just very hard for me to believe that the SC suffers heavily from such issues when I do not, with a team of around 10 people. The IOI SC is the least imaginable groups of people in the world to make the statement, “we lack attention and resources.”
IOI 2026 was a good contest
The IOI was very nice, and the individual problems were pretty good (except p3). They are not flawless, but there is a valid case that they deserved a place at IOI. I’m not calling out IOI 2026, that would be unfair and I feel the effort. It’s just that I’m a bit concerned about the recent IOI meta and wanted to speak my mind because I’m stupid enough to care.








Thanks a lot, it is very insightful to read your and AmShZ's comment. I think we actually have more in common on this topic than you might imagine, and I basically agree with your criticism of “random interactive problems involving decoding things with MEX/XOR/mod/shuffling.” This is exactly the kind of thing I have hated (and criticized almost every year) in the Chinese Olympiads, especially in TSTs, and I honestly do not understand why anyone enjoys this style of task... (e.g. 1, 2, 3).
That said, I am not particularly worried that IOI is heading in this direction. My impression is that the tasks appearing at IOI (including communication tasks such as Message and Migrations) are still intuitive both in their problem settings and in the ideas behind their solutions (maybe Classroom is a bit of controversial in that sense, but I still think it's acceptable), rather than being artificial tasks that could be mechanically generated.
Regarding your comments about the SC, I don't think I'm qualified to answer at the moment (I had zero involvement in shortlist selection for IOI'26, and I'd need to work with more IOIs before I can form a good sense of what the general situation looks like).
One thing I can see is that selecting and preparing IOI tasks requires substantially more care and deliberation. I have seen plenty of last-minute proposals for Chinese Olympiads/TSTs and ICPC regionals, but many of them are unsubtaskable and/or not fit within the IOI syllabus. Personally, I do not think any of those kinds of “intentionally created tasks” would be suitable for use at IOI. KOI is definitely better in this regard than what the Chinese TSTs often look like. I have a lot of respect for the work you have done, and there are quite a few excellent batch tasks from recent Korean Olympiads that I would genuinely love to see at IOI.
(I wrote all of that right after getting very little sleep, so apologize if some of the sentences sound a bit strange)
Thanks for reading! Yeah, I don't think we are really in a disagreement. (the linked tasks are pretty wild lol) This year's problems are definitely not sloppy. Not at all. It's just that I'm pondering about the general direction that's ahead of us.
Most of the communications-ish tasks up to this point at the IOI (IOI20 Stations, Prison Challenge, Robot Contest, Message, Classroom (this one I'm not sure, haven't thought), especially the first one back in IOI '10) are peak. Migrations are clever but the final 5 points that requires 150 lines of if-else (in the model solution, and a bit less than that in better-optimized ones) is....certainly something.
I'd say that the type of task doesn't have as much to do with their quality as their "innate quality" in the sense that an output-only can turn out to be a Broken Line or a N*wruz. The problem would arise when tasks of a certain type are shoved into the problemset for the sake of "being there" (i.e "we can't have a problemset without a communication in the big '26!") rather than its independent quality, without much consideration as to how brain-bursting the entire composition of the problemset would be for the participants in contest day.
For example, this year's Vietnamese Olympiad in Informatics — our national, high-stakes, 1-shot offline contest, got a geometry OO shoved into it, and while the task isn't horrible by itself, putting it into a high-stakes offline contest without live judging is.....yeah. Similarly, imagine a contestant more acquainted with traditional tasks (the idea that batch = accessible = good for the mentality of "weaker" contestants had been dominant for quite a while (I've read a paper or two on that, either from the IOI journal or GA meeting notes on ioi.te.lv iirc), as well as that being the justification to shove M*saic into the IOI24 problemset), expecting a "traditional" problemset, opening the IOI26 D2 problemset and see a communication, an OO and a math-y constructive. You couldn't convince me that they wouldn't be shitting bricks on the spot.
TL:DR: 1-2 is expected. 3 would be quite difficult but ok. 4 is too much and 5 is just.....no. Putting "strange" task types for the sake of having "strange" task types in the problemset with little consideration is a bad idea. Not saying that this situation has happened before (all the communications/quirky IOI tasks up to this point, save for N*wruz, are all genuinely interesting with unique ideas), but IF that is the future we're heading towards, that would suck
P.S: the justification the ISC had for keeping M*saic in the IOI24 problemset was that "the other two tasks of the day are medium — (task-too-bullshit-the-author-took-half-a-year-to-solve) and other backup tasks is an interactive and 2 medium-hard+, so pls keep M*saic". If only we had better easy-medium batches taken into the shortlist.........
(alternatively, ask someone to dump a million $ into preparing for each IOI and have the SC/TCs preparing 12-15 tasks per IOI instead of 9, but dreams can only be dreams.......)
I found this year’s IOI very different from pretty much any other OI contest I’ve seen.
Mostly agree with minor differences in some points.
re: Triple Peaks: I'd argue that the 70pts section wouldn't make it IOI-worthy (it is literally just "consider 6 cases, 4 are trivial O(N) prefix minmax counting for middleschoolers, other 2 is a small-to-large-ish optimization that is O(N^1.5) because well known result"). The point of the 30pts subtasks of Triple Peaks is to be experimental: note that Triple Peaks is the first instance of a problem with both forward and backwards direction (in recent history, IOI14's Gondola doesn't count, that was easy anyways), so I think it was meant to be an experimental move from the SCs' part to experiment with requiring contestants to think about both "sides" to a problem (and with the inclusion of Partition, I suppose that was indeed the case). If anything, I'd say that the OO section is the more "interesting" part of the task that was the original proposition, the 70pts counting was the afterthought added in for the problemset to be more "balanced" by the ISC (for this, it'd be nice if ecnerwala could give some more insights on whether that was the case)
re: progressive subtasks: while the IOI23 problemset was my beginner's crack cocaine back in the days, I would argue against saying that the entire problemset's subtasks are good at rewarding progressive observation but only specifically for the tasks in question.
Closing Time was infamous for having a "just knapsack DP while ignoring the constraints lmao" 20-line N^2 solution, the full solution either requires like 5 more observations and DS bashing/reducing it to greedy, while the NlogN solution for the "line" subtasks (only gets 43pts and absolutely nobody asked for, even today I don't know how to solve the line subtask in N^2) is basically 80% of the full solution
Beech Tree's main difficulty came from figuring out the conditions, breaching the 31pts barrier down to N^2 is super difficult, but the final 29pts is just "yeah it is merging information bottom-up on a tree, just small-to-large lmao", so in that sense figuring out the conditions (very brain-burning, error-prone, warranted the GA to shove "yeah this is a hard task but please spend some time with it" into the statement itself) is rewarded as much as "hmm, I need to push a vector of information bottom-up on a tree and optimize it into NlogN, wonder what could it be????", so there's....that
65pts on Overtaking is literally N^2 bruteforce with, again, no significant progress towards the full solution whatsoever (this one is even worse than what happened to Obstacles like at least the 83pts of Obstacles is still a bit interesting)
Robot Contest has damn good subtasks but boy do they have ANYTHING to do with the full solution (2-row, some messing around and "please implement DFS" while the full solution is "please implement BFS"). One of the peakest IOI task ever, but the subtasks are basically Classroom v0.1
re: hill-climbing/"boss" problems: Indeed, tasks would be nice if there's multiple progressive improvements that are independent of eachother AND a single aha moment wouldn't be able to knock them down immediately. Notable instances includes 2016's Shortcut (which I knew you "loved"), Comparing Plants (ainta's other task), 2022's Towers and Soccer. In Shortcut, the gap from "oh god this is some crazy sliding window, isn't it" => "oh we can binary search the answer, but how?" => "we can check the system of constraints as intersection of squares" => "actually only O(N) squares matters and we can find them with segtree bashing in Nlog1e9" => "actually we can find the O(N) squares with some even more batshit insane sliding windows!" is....a very clear process.
Meanwhile, Partition: (I am not joking when I say it's more fitting as an IMO shortlist combinatorics with how much of a binary asspull it'd end up being).
Anyways, I'd say that the problem has gotten much less "cheesy" in one way or another. Monuments — which I could immediately tell "yeah yeah this is going to be slope trick DP reducing the movements of the monuments to some options then greedy on it it's literally Potatoes on crack isn't it" upon looking at the statement, there's still a lot more brainpower involved in the N^2/M^2 solutions instead of the funny "take this 83pts and fuck off" N^2 DP of Closing Time. The forward-and-backward to Partition is, by itself, a great thing, even better when it's in a setup that makes a lot of sense in a natural & interesting way; and the "provably optimal"-ness of Magic City is a VERY GOOD step for OOs towards the likes of Broken Line and away from THE FORBIDDEN ONE, so there's that. Hopefully, IOI26 would turn into "faulty and questionable steps but towards a right direction, thank god we didn't do that again" retrospectively a la the experimental years of the IOI before 2000 and IOI 2010 instead of "we peaked here and everything has been going downhill ever since" like 2023 (the certain things surrounding IOI24 and all the stories that happened during IOI25.....outside the competition halls, oh the horrors)
my year-long whining is statistically insignificant :(
you got #5 this year and still got to go to last year's gold medalist camp, all the benefits and motivation without the trauma my guy
I think you are confusing me with ahyeon the goat. I didnt participate this year
i got called out with that interactive slop section because i literally have one in the draft rn and i thought it's a cool type of communication problem T~T