||I just found today a bug in my final submission (line 186):
Point pm = new Point((pv.x + pw.x) / 2, (pv.x + pw.y) / 2, 99871);
The idea here was simple: pm should be the middle point between pv and pw.
Unfortunately in the second parameter it should be, of course, pv.y instead of pv.x.
Changing only this single character from x to y gave me a ~17% improvement, which would be more than enough to get the 1st place :-(
I made a couple of other bug fixes (not as simple as that one), and got another ~10% increase.
Of course it is very frustrating to realize that such stupid bug prevent me from winning the TCO final, but in the other hand, I discovered that my approach was much better than I supposed :-)
I thought it would be necessary a complete new approach to increase my score to reach ainu7's level.