ACM ICPC World Finals 2018
Disclaimer This is an unofficial analysis of some possible ways to solve the problems of the ACM ICPC World Finals 2018. They are not intended to give a complete solution, but rather to outline some approach that can be used to solve the problem. If some of the terminology or algorithms mentioned below are not familiar to you, your favorite search engine should be able to help. If you find an error, please send an e-mail to austrin@kth.se about it.
— Per Austrin and Jakub Onufry Wojtaszczyk
The problem set this year was a bit harder than in the last few years. This may be a case of the judges having found their way back to a normal difficulty, after having somewhat overdone the easy end of the problem set spectrum for a few years following the way too hard problem set we gave in 2014.
Congratulations to Moscow State University, the 2018 ICPC World Champions!
In terms of number of teams that ended up solving each problem, the numbers were:
| Problem | A | B | C | D | E | F | G | H | I | J | K |
| Solved | 106 | 135 | 0 | 5 | 10 | 126 | 7 | 46 | 47 | 0 | 124 |
| Submissions | 262 | 247 | 4 | 15 | 91 | 462 | 75 | 278 | 229 | 1 | 254 |
The most popular language was (as usual) C++ by a wide margin: 1813 submissions, trailed by Java at 101, and only 4 submissions for the other languages (C/Kotlin/Python 2/Python 3).
A note about solution sizes: below the size of the smallest judge and team solutions for each problem is stated. It should be mentioned that these numbers are just there to give an indication of the order of magnitude. The judge solutions were not written to be minimal (though some of us may have a tendency to overcompactify our code) and it is trivial to make them shorter by removing spacing, renaming variables, and so on. And of course the same goes for the code written by the teams during the contest!