<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;A0UEQX4zfip7ImA9WhBbEUo.&quot;"><id>tag:blogger.com,1999:blog-1953325079793449971</id><updated>2013-05-10T13:46:40.086+04:00</updated><title>Algorithm problems for dummies: Petr Mitrichev's blog</title><subtitle type="html" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://petr-mitrichev.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://petr-mitrichev.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/1953325079793449971/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Petr Mitrichev</name><uri>https://plus.google.com/108329321411299197209</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-yeuTcunFdtw/AAAAAAAAAAI/AAAAAAAAUt4/R54CIwnJtZo/s512-c/photo.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>88</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/PetrMitrichev" /><feedburner:info uri="petrmitrichev" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>PetrMitrichev</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><entry gd:etag="W/&quot;A0cHRXg4fyp7ImA9WhBbEEo.&quot;"><id>tag:blogger.com,1999:blog-1953325079793449971.post-8007871862962292617</id><published>2013-05-09T09:57:00.001+04:00</published><updated>2013-05-09T09:57:14.637+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-05-09T09:57:14.637+04:00</app:edited><title>Ural Championship - aftermath</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-Ejq2E5LYmqI/UYsxoNbfB8I/AAAAAAAAZko/yYooBa0oQ4k/s1600/bOqy_WFWN2Q.jpg" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="213" src="http://1.bp.blogspot.com/-Ejq2E5LYmqI/UYsxoNbfB8I/AAAAAAAAZko/yYooBa0oQ4k/s320/bOqy_WFWN2Q.jpg" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Photo by&amp;nbsp;&lt;a href="https://plus.google.com/104012105726336865944/posts"&gt;Ян Ценч&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
The best team in the world right now, SPb IFMO 1, has only managed to get the second place at the Ural Championship, that was according to my plan :) However, my team has only got 13th place - and the winner was Moscow SU Unpretired, another veteran team that has 5 ACM ICPC medals between them - 2 gold, 1 silver, and 2 bronze - all in different teams. Congratulations Ilya (&lt;a href="http://www.topcoder.com/tc?module=MemberProfile&amp;amp;cr=22511877" style="color: #ee0000;"&gt;ilyakor&lt;/a&gt;), Jacob (&lt;a href="http://www.topcoder.com/tc?module=MemberProfile&amp;amp;cr=22452815" style="color: #ee0000;"&gt;Dlougach&lt;/a&gt;) and Ivan (&lt;a href="http://www.topcoder.com/tc?module=MemberProfile&amp;amp;cr=20557229" style="color: #ee0000;"&gt;Jedi_Knight&lt;/a&gt;)!&lt;br /&gt;
&lt;br /&gt;
Here are the results of the top teams (full results here:&amp;nbsp;&lt;a href="http://acm.urfu.ru/chu/2013/standings.html"&gt;http://acm.urfu.ru/chu/2013/standings.html&lt;/a&gt;):&lt;br /&gt;
&lt;br /&gt;
&lt;table align="CENTER" class="monitor" style="border-collapse: collapse;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;th style="border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.81em; line-height: 2em; padding: 2px 4px; text-align: center;" width="45"&gt;Rank&lt;/th&gt;&lt;th style="border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.81em; line-height: 2em; padding: 2px 4px; text-align: center;"&gt;Participant&lt;/th&gt;&lt;th style="border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.81em; line-height: 2em; padding: 2px 4px; text-align: center;" width="38"&gt;&lt;span title="Graphics Settings"&gt;A&lt;/span&gt;&lt;/th&gt;&lt;th style="border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.81em; line-height: 2em; padding: 2px 4px; text-align: center;" width="38"&gt;&lt;span title="Game Testing"&gt;B&lt;/span&gt;&lt;/th&gt;&lt;th style="border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.81em; line-height: 2em; padding: 2px 4px; text-align: center;" width="38"&gt;&lt;span title="Location Generator"&gt;C&lt;/span&gt;&lt;/th&gt;&lt;th style="border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.81em; line-height: 2em; padding: 2px 4px; text-align: center;" width="38"&gt;&lt;span title="Similar Tunes"&gt;D&lt;/span&gt;&lt;/th&gt;&lt;th style="border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.81em; line-height: 2em; padding: 2px 4px; text-align: center;" width="38"&gt;&lt;span title="Model of the Earth"&gt;E&lt;/span&gt;&lt;/th&gt;&lt;th style="border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.81em; line-height: 2em; padding: 2px 4px; text-align: center;" width="38"&gt;&lt;span title="Game Optimization"&gt;F&lt;/span&gt;&lt;/th&gt;&lt;th style="border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.81em; line-height: 2em; padding: 2px 4px; text-align: center;" width="38"&gt;&lt;span title="Energy Wall"&gt;G&lt;/span&gt;&lt;/th&gt;&lt;th style="border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.81em; line-height: 2em; padding: 2px 4px; text-align: center;" width="38"&gt;&lt;span title="E-Lite"&gt;H&lt;/span&gt;&lt;/th&gt;&lt;th style="border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.81em; line-height: 2em; padding: 2px 4px; text-align: center;" width="38"&gt;&lt;span title="Resources Distribution"&gt;I&lt;/span&gt;&lt;/th&gt;&lt;th style="border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.81em; line-height: 2em; padding: 2px 4px; text-align: center;" width="38"&gt;&lt;span title="Road to Investor"&gt;J&lt;/span&gt;&lt;/th&gt;&lt;th style="border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.81em; line-height: 2em; padding: 2px 4px; text-align: center;" width="55"&gt;Solved&lt;/th&gt;&lt;th style="border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.81em; line-height: 2em; padding: 2px 4px; text-align: center;" width="55"&gt;Time&lt;/th&gt;&lt;/tr&gt;
&lt;tr class="evenrow"&gt;&lt;td style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;1&lt;/td&gt;&lt;td class="author" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px;"&gt;Moscow SU Unpretired&lt;/td&gt;&lt;td class="acc" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;0:14&lt;/i&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;2:32&lt;/i&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+1&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;2:35&lt;/i&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;1:28&lt;/i&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+3&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;1:17&lt;/i&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+2&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;3:47&lt;/i&gt;&lt;/td&gt;&lt;td style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;&lt;/td&gt;&lt;td class="acb" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; font-weight: bold; padding: 2px 4px; text-align: center;"&gt;+9&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;4:43&lt;/i&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;0:49&lt;/i&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;0:37&lt;/i&gt;&lt;/td&gt;&lt;td style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;9&lt;/td&gt;&lt;td style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;1382&lt;/td&gt;&lt;/tr&gt;
&lt;tr class="oddrow"&gt;&lt;td style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;2&lt;/td&gt;&lt;td class="author" style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px;"&gt;SPb NRU ITMO 1&lt;/td&gt;&lt;td class="acc" style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;0:11&lt;/i&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;1:33&lt;/i&gt;&lt;/td&gt;&lt;td style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;1:11&lt;/i&gt;&lt;/td&gt;&lt;td class="rej" style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); color: #bb0000; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;–19&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;4:59&lt;/i&gt;&lt;/td&gt;&lt;td class="acb" style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; font-weight: bold; padding: 2px 4px; text-align: center;"&gt;+1&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;4:45&lt;/i&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+4&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;2:31&lt;/i&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+1&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;3:36&lt;/i&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;0:48&lt;/i&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;0:23&lt;/i&gt;&lt;/td&gt;&lt;td style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;8&lt;/td&gt;&lt;td style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;1018&lt;/td&gt;&lt;/tr&gt;
&lt;tr class="oddrow"&gt;&lt;td style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;3&lt;/td&gt;&lt;td class="author" style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px;"&gt;Moscow SU Trinity&lt;/td&gt;&lt;td class="acc" style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;0:29&lt;/i&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+2&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;3:56&lt;/i&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+2&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;2:01&lt;/i&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+1&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;1:28&lt;/i&gt;&lt;/td&gt;&lt;td class="acb" style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; font-weight: bold; padding: 2px 4px; text-align: center;"&gt;+3&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;4:48&lt;/i&gt;&lt;/td&gt;&lt;td class="acb" style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; font-weight: bold; padding: 2px 4px; text-align: center;"&gt;+3&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;4:02&lt;/i&gt;&lt;/td&gt;&lt;td style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;&lt;/td&gt;&lt;td class="rej" style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); color: #bb0000; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;–7&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;4:57&lt;/i&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;1:16&lt;/i&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;0:17&lt;/i&gt;&lt;/td&gt;&lt;td style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;8&lt;/td&gt;&lt;td style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;1317&lt;/td&gt;&lt;/tr&gt;
&lt;tr class="evenrow"&gt;&lt;td style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;4&lt;/td&gt;&lt;td class="author" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px;"&gt;Moscow IPT Unutterable Team&lt;/td&gt;&lt;td class="acc" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;0:34&lt;/i&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;3:28&lt;/i&gt;&lt;/td&gt;&lt;td class="acb" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; font-weight: bold; padding: 2px 4px; text-align: center;"&gt;+&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;4:41&lt;/i&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+1&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;1:29&lt;/i&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+1&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;1:10&lt;/i&gt;&lt;/td&gt;&lt;td style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;&lt;/td&gt;&lt;td style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;&lt;/td&gt;&lt;td style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;1:26&lt;/i&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;0:26&lt;/i&gt;&lt;/td&gt;&lt;td style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;7&lt;/td&gt;&lt;td style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;834&lt;/td&gt;&lt;/tr&gt;
&lt;tr class="evenrow"&gt;&lt;td style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;5&lt;/td&gt;&lt;td class="author" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px;"&gt;SPb SU Angry Muffin&lt;/td&gt;&lt;td class="acc" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;0:46&lt;/i&gt;&lt;/td&gt;&lt;td class="acb" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; font-weight: bold; padding: 2px 4px; text-align: center;"&gt;+&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;4:53&lt;/i&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;3:12&lt;/i&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;1:54&lt;/i&gt;&lt;/td&gt;&lt;td style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;1:20&lt;/i&gt;&lt;/td&gt;&lt;td style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;&lt;/td&gt;&lt;td class="rej" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); color: #bb0000; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;–3&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;4:57&lt;/i&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;1:17&lt;/i&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+3&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;0:56&lt;/i&gt;&lt;/td&gt;&lt;td style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;7&lt;/td&gt;&lt;td style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;918&lt;/td&gt;&lt;/tr&gt;
&lt;tr class="evenrow"&gt;&lt;td style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;6&lt;/td&gt;&lt;td class="author" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px;"&gt;SPb SU 4&lt;/td&gt;&lt;td class="acc" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;0:27&lt;/i&gt;&lt;/td&gt;&lt;td class="acb" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; font-weight: bold; padding: 2px 4px; text-align: center;"&gt;+1&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;4:12&lt;/i&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;3:41&lt;/i&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+1&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;0:37&lt;/i&gt;&lt;/td&gt;&lt;td class="rej" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); color: #bb0000; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;–2&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;2:43&lt;/i&gt;&lt;/td&gt;&lt;td style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+4&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;3:47&lt;/i&gt;&lt;/td&gt;&lt;td class="rej" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); color: #bb0000; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;–1&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;4:46&lt;/i&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;0:48&lt;/i&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;0:16&lt;/i&gt;&lt;/td&gt;&lt;td style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;7&lt;/td&gt;&lt;td style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;948&lt;/td&gt;&lt;/tr&gt;
&lt;tr class="evenrow"&gt;&lt;td style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;7&lt;/td&gt;&lt;td class="author" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px;"&gt;SPb SU Canyon&lt;/td&gt;&lt;td class="acc" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+2&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;0:58&lt;/i&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+1&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;2:28&lt;/i&gt;&lt;/td&gt;&lt;td style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+1&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;1:24&lt;/i&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+1&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;3:22&lt;/i&gt;&lt;/td&gt;&lt;td class="acb" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; font-weight: bold; padding: 2px 4px; text-align: center;"&gt;+1&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;4:06&lt;/i&gt;&lt;/td&gt;&lt;td style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;&lt;/td&gt;&lt;td style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;1:31&lt;/i&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+1&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;0:54&lt;/i&gt;&lt;/td&gt;&lt;td style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;7&lt;/td&gt;&lt;td style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;1023&lt;/td&gt;&lt;/tr&gt;
&lt;tr class="evenrow"&gt;&lt;td style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;8&lt;/td&gt;&lt;td class="author" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px;"&gt;Moscow SU SG&lt;/td&gt;&lt;td class="acc" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+2&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;1:56&lt;/i&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;2:49&lt;/i&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;3:26&lt;/i&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+1&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;2:12&lt;/i&gt;&lt;/td&gt;&lt;td class="acb" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; font-weight: bold; padding: 2px 4px; text-align: center;"&gt;+5&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;4:39&lt;/i&gt;&lt;/td&gt;&lt;td class="rej" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); color: #bb0000; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;–1&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;0:24&lt;/i&gt;&lt;/td&gt;&lt;td style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;&lt;/td&gt;&lt;td style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;0:55&lt;/i&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+2&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;0:58&lt;/i&gt;&lt;/td&gt;&lt;td style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;7&lt;/td&gt;&lt;td style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;1215&lt;/td&gt;&lt;/tr&gt;
&lt;tr class="evenrow"&gt;&lt;td style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;9&lt;/td&gt;&lt;td class="author" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px;"&gt;Warsaw U 1&lt;/td&gt;&lt;td class="acc" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+2&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;1:02&lt;/i&gt;&lt;/td&gt;&lt;td class="acb" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; font-weight: bold; padding: 2px 4px; text-align: center;"&gt;+1&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;4:43&lt;/i&gt;&lt;/td&gt;&lt;td style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+1&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;1:19&lt;/i&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+8&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;2:52&lt;/i&gt;&lt;/td&gt;&lt;td class="acb" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; font-weight: bold; padding: 2px 4px; text-align: center;"&gt;+10&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;4:58&lt;/i&gt;&lt;/td&gt;&lt;td style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;&lt;/td&gt;&lt;td class="rej" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); color: #bb0000; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;–2&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;4:55&lt;/i&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;0:33&lt;/i&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+1&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;0:34&lt;/i&gt;&lt;/td&gt;&lt;td style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;7&lt;/td&gt;&lt;td style="background-color: #e4e4f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;1421&lt;/td&gt;&lt;/tr&gt;
&lt;tr class="oddrow"&gt;&lt;td style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;10&lt;/td&gt;&lt;td class="author" style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px;"&gt;SPb SU ITMO 2009 #1&lt;/td&gt;&lt;td class="acc" style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;0:44&lt;/i&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+1&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;3:52&lt;/i&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;1:46&lt;/i&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;0:59&lt;/i&gt;&lt;/td&gt;&lt;td class="rej" style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); color: #bb0000; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;–5&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;4:57&lt;/i&gt;&lt;/td&gt;&lt;td class="rej" style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); color: #bb0000; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;–4&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;4:23&lt;/i&gt;&lt;/td&gt;&lt;td class="rej" style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); color: #bb0000; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;–4&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;4:50&lt;/i&gt;&lt;/td&gt;&lt;td style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;0:48&lt;/i&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;0:15&lt;/i&gt;&lt;/td&gt;&lt;td style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;6&lt;/td&gt;&lt;td style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;524&lt;/td&gt;&lt;/tr&gt;
&lt;tr class="oddrow"&gt;&lt;td style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;11&lt;/td&gt;&lt;td class="author" style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px;"&gt;SPb SU: Burunduchki&amp;nbsp;&lt;/td&gt;&lt;td class="acc" style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+1&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;0:32&lt;/i&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+1&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;2:38&lt;/i&gt;&lt;/td&gt;&lt;td style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;0:40&lt;/i&gt;&lt;/td&gt;&lt;td class="rej" style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); color: #bb0000; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;–3&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;4:54&lt;/i&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+1&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;2:29&lt;/i&gt;&lt;/td&gt;&lt;td class="rej" style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); color: #bb0000; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;–6&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;4:59&lt;/i&gt;&lt;/td&gt;&lt;td style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;1:15&lt;/i&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;1:09&lt;/i&gt;&lt;/td&gt;&lt;td style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;6&lt;/td&gt;&lt;td style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;583&lt;/td&gt;&lt;/tr&gt;
&lt;tr class="oddrow"&gt;&lt;td style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;12&lt;/td&gt;&lt;td class="author" style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px;"&gt;Moscow SU T@pirenock&amp;nbsp;&lt;/td&gt;&lt;td class="acc" style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+1&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;0:39&lt;/i&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;1:26&lt;/i&gt;&lt;/td&gt;&lt;td style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;1:33&lt;/i&gt;&lt;/td&gt;&lt;td class="rej" style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); color: #bb0000; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;–2&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;2:33&lt;/i&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+5&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;3:29&lt;/i&gt;&lt;/td&gt;&lt;td class="rej" style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); color: #bb0000; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;–1&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;4:55&lt;/i&gt;&lt;/td&gt;&lt;td style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;1:06&lt;/i&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;0:51&lt;/i&gt;&lt;/td&gt;&lt;td style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;6&lt;/td&gt;&lt;td style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;664&lt;/td&gt;&lt;/tr&gt;
&lt;tr class="oddrow"&gt;&lt;td style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;13&lt;/td&gt;&lt;td class="author" style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px;"&gt;Petr Team&lt;/td&gt;&lt;td class="acc" style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+1&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;0:12&lt;/i&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+1&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;2:13&lt;/i&gt;&lt;/td&gt;&lt;td style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+2&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;1:28&lt;/i&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+3&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;2:07&lt;/i&gt;&lt;/td&gt;&lt;td class="rej" style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); color: #bb0000; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;–3&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;4:58&lt;/i&gt;&lt;/td&gt;&lt;td style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;&lt;/td&gt;&lt;td class="rej" style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); color: #bb0000; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;–4&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;4:55&lt;/i&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;1:05&lt;/i&gt;&lt;/td&gt;&lt;td class="acc" style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); color: #007700; font-family: Verdana, Geneva, 'Bitstream Vera Sans', 'DejaVu Sans', sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;+3&lt;br /&gt;&lt;i style="font-size: 0.71em; font-style: normal;"&gt;1:37&lt;/i&gt;&lt;/td&gt;&lt;td style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;6&lt;/td&gt;&lt;td style="background-color: #f0f0f8; border: 1px solid rgb(187, 187, 187); font-family: Arial, Helvetica, sans-serif; font-size: 0.88em; padding: 2px 4px; text-align: center;"&gt;722&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;br /&gt;
At 2:13 into the contest, we solved the 6th problem and were in the first place. As you can see from the last line of the above standings, we didn't solve anything in the remaining 2 hours and 47 minutes. What happened?&lt;br /&gt;
&lt;br /&gt;
For problem C (&lt;a href="https://docs.google.com/file/d/0B2d37tm1YmE3dS1WSFpXNDVDbVk/edit?usp=sharing"&gt;statements of all problems&lt;/a&gt;), we couldn't come up with the simple solution, and wrote down an long expression that we needed to integrate. Since it was a polynomial, that was an easy task, but the answer didn't match the sample output. We've found a couple of bugs in the calculations, the expression was no longer a polynomial, and integrating it numerically still produced an answer that's far off the example output.&lt;br /&gt;
&lt;br /&gt;
For problem F, again we couldn't come up with a O(n^2) solution - we had one that we expected to be O(n^2), but closer to the end of the contest we realized it required O(n^3) time AND memory, and couldn't come up with anything better. What made me feel bad about this problem is that a few teams have submitted 'incorrect' solutions (that sacrifice some search space to stay O(n^2)) that still passed the system tests. It might be that it's impossible to fail those under the constraints (integer coordintes up to 1000), but still that feels bad.&lt;br /&gt;
&lt;br /&gt;
For problem G, we knew the solution all along but postponed writing it since it was complex and since we had 3 other solutions ready but not working. After the end of the contest, I sat down to write it and it took 40 minutes and got accepted from the first attempt.&lt;br /&gt;
&lt;br /&gt;
And finally, for problem H, which is somewhat standard, our solution had a bug - it did not handle several equal vectors in the input correctly. We've discovered this bug after the contest ended, and the solution got accepted after fixing it. Again, this problem left somewhat strange feeling since at least one team managed to squeeze through an (at least theoretically) incorrect solution - just sorting along several thousand random directions. Maybe I'm just feeling grumpy because of our result :)&lt;br /&gt;
&lt;br /&gt;
Still, I'd like to thank the organizers for the wonderful Ural Championship and for making it not "yet another contest" but an awesome event :) And congratulations to the Unpretired!&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/PetrMitrichev/~4/BuIrkWSL-00" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://petr-mitrichev.blogspot.com/feeds/8007871862962292617/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1953325079793449971&amp;postID=8007871862962292617" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1953325079793449971/posts/default/8007871862962292617?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1953325079793449971/posts/default/8007871862962292617?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PetrMitrichev/~3/BuIrkWSL-00/ural-championship-aftermath.html" title="Ural Championship - aftermath" /><author><name>Petr Mitrichev</name><uri>https://plus.google.com/108329321411299197209</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-yeuTcunFdtw/AAAAAAAAAAI/AAAAAAAAUt4/R54CIwnJtZo/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-Ejq2E5LYmqI/UYsxoNbfB8I/AAAAAAAAZko/yYooBa0oQ4k/s72-c/bOqy_WFWN2Q.jpg" height="72" width="72" /><thr:total>2</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://petr-mitrichev.blogspot.com/2013/05/ural-championship-aftermath.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkUARHc5fCp7ImA9WhBUFUg.&quot;"><id>tag:blogger.com,1999:blog-1953325079793449971.post-5600670187821621121</id><published>2013-05-03T08:09:00.002+04:00</published><updated>2013-05-03T08:10:45.924+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-05-03T08:10:45.924+04:00</app:edited><title>Ural Championship - main competition</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-rKZByiasy7k/UYM2QOa5duI/AAAAAAAAZTw/0wcG4Kycq18/s1600/IMG_20130502_211338.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://1.bp.blogspot.com/-rKZByiasy7k/UYM2QOa5duI/AAAAAAAAZTw/0wcG4Kycq18/s400/IMG_20130502_211338.jpg" width="300" /&gt;&lt;/a&gt;&lt;/div&gt;
Today is the main day of the Ural Championship - the competition! About 80 teams from all over the world, and just one cup. The contest should start in about 20 minutes, and you can already follow it live in English at&amp;nbsp;&lt;a href="http://russiasport.ru/user/226/node/503740"&gt;http://russiasport.ru/user/226/node/503740&lt;/a&gt;&amp;nbsp;and in Russian at&amp;nbsp;&lt;a href="http://russiasport.ru/user/226/node/534137"&gt;http://russiasport.ru/user/226/node/534137&lt;/a&gt;&amp;nbsp;- right now they're presenting the participating teams.&lt;br /&gt;
&lt;br /&gt;
The scoreboard will be at&amp;nbsp;&lt;a href="http://acm.timus.ru/monitor.aspx?id=152"&gt;http://acm.timus.ru/monitor.aspx?id=152&lt;/a&gt;, and some spectator discussion probably at&amp;nbsp;&lt;a href="http://codeforces.ru/blog/entry/7519"&gt;http://codeforces.ru/blog/entry/7519&lt;/a&gt;. My team is called "Petr team"!&lt;br /&gt;
&lt;br /&gt;
Offtopic: when walking through Ekaterinburg yesterday, I've noticed that the city's central area somewhat resembles Zurich's Bellevue area: a lake which starts a river, with a large bridge over the junction that is a tourist attraction by itself (pictured on the left).&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/PetrMitrichev/~4/iCkb8RZwOWk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://petr-mitrichev.blogspot.com/feeds/5600670187821621121/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1953325079793449971&amp;postID=5600670187821621121" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1953325079793449971/posts/default/5600670187821621121?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1953325079793449971/posts/default/5600670187821621121?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PetrMitrichev/~3/iCkb8RZwOWk/ural-championship-main-competition.html" title="Ural Championship - main competition" /><author><name>Petr Mitrichev</name><uri>https://plus.google.com/108329321411299197209</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-yeuTcunFdtw/AAAAAAAAAAI/AAAAAAAAUt4/R54CIwnJtZo/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-rKZByiasy7k/UYM2QOa5duI/AAAAAAAAZTw/0wcG4Kycq18/s72-c/IMG_20130502_211338.jpg" height="72" width="72" /><thr:total>2</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://petr-mitrichev.blogspot.com/2013/05/ural-championship-main-competition.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A04GSXs5fip7ImA9WhBUFE0.&quot;"><id>tag:blogger.com,1999:blog-1953325079793449971.post-4392896269087565505</id><published>2013-05-01T10:26:00.003+04:00</published><updated>2013-05-01T16:05:28.526+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-05-01T16:05:28.526+04:00</app:edited><title>Ural Championship - day 1 : Russia vs China</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-1cm9ipEz4pQ/UYC0oQsj1XI/AAAAAAAAZK0/qyg4NhuiutA/s1600/IMG_20130501_120524.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://1.bp.blogspot.com/-1cm9ipEz4pQ/UYC0oQsj1XI/AAAAAAAAZK0/qyg4NhuiutA/s320/IMG_20130501_120524.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
Russia vs China match - 5 best Russian teams versus 5 best Chinese teams - starts in just 7 minutes. The teams are seated facing each other in a large hall, with spectators all around. We will blog about the contest.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;12:25&lt;/b&gt; - 5 minutes before start. From the practice session, it looks like the format is: the total score for Russia is obtained by just summing the total solved problems and total penalty time, same for China.&lt;br/&gt;
&lt;b&gt;12:28&lt;/b&gt; - Russian teams are: SPb IFMO 1, SPb SU 4, Moscow SU ST, Ural FU Orange, MIPT Lambda.&lt;br/&gt;
&lt;b&gt;12:30&lt;/b&gt; - Unfortunately one of the Chinese teams has only two people due to visa issues.&lt;br/&gt;
&lt;b&gt;12:32&lt;/b&gt; - The practice session is still going on, the contest is delayed.&lt;br/&gt;
&lt;b&gt;12:34&lt;/b&gt; - Actually, it was schedule to start at 13:00 - in 30 minutes, so there’s no delay. Practice session standings: &lt;a href="http://acm.timus.ru/monitor.aspx?id=149"&gt;http://acm.timus.ru/monitor.aspx?id=149&lt;/a&gt;&lt;br/&gt;
&lt;b&gt;12:38&lt;/b&gt; - Main contest standings - &lt;a href="http://acm.timus.ru/monitor.aspx?id=150"&gt;http://acm.timus.ru/monitor.aspx?id=150&lt;/a&gt;&lt;br/&gt;
&lt;b&gt;12:42&lt;/b&gt; - Important people speaking. Among them Leonid Volkov, who invented the Russia vs China format in the first place, and at the same time is the organizer of the first mass non-government elections in Russia last fall.&lt;br/&gt;
&lt;b&gt;12:43&lt;/b&gt; - Moscow SU ST won the practice session by getting all problems accepted from the first attempt. Back when I was competing, many top-level teams actually tried to win the practice session, too, to get more confidence for the main contest.&lt;br/&gt;
&lt;b&gt;12:54&lt;/b&gt; - 6 minutes before start.&lt;br/&gt;
&lt;b&gt;12:59&lt;/b&gt; - There will be 12 problems.&lt;br/&gt;
&lt;b&gt;13:10&lt;/b&gt; - Problem statements: &lt;a href="https://docs.google.com/file/d/0B2d37tm1YmE3QmdXazhnN2lRdDQ/edit?usp=sharing"&gt;https://docs.google.com/file/d/0B2d37tm1YmE3QmdXazhnN2lRdDQ/edit?usp=sharing&lt;/a&gt;.&lt;br/&gt;
&lt;b&gt;13:13&lt;/b&gt; - So far, 1:1: SJTU solved B, ITMO solved E.&lt;br/&gt;
&lt;b&gt;13:14&lt;/b&gt; - Problem B: given a sequence of Ws and Ls, find a set of segments of maximum total length such that each segment has more Ws than Ls. Looks like it should be solvable by some kind of greedy.&lt;br/&gt;
&lt;b&gt;13:14&lt;/b&gt; - E is pretty easy. We are given bitmap image (maximum size 50x50). We want to draw disk of some positive radius with center at some pixel. It should be fully within our bitmap. We can switch any pixel. What minimum number of pixels need to be switched? We can just check all centers, order all pixels by distance and then try to color black all pixels with distance up to r for all valid rs (and white all other pixels). &lt;br/&gt;
&lt;b&gt;13:18&lt;/b&gt; - Commentary today is by myself and Egor Kulikov.&lt;br/&gt;
&lt;b&gt;13:19&lt;/b&gt; - Score is 4:2, SPb NRU ITMO is the only team with two tasks as of now.&lt;br/&gt;
&lt;b&gt;13:21&lt;/b&gt; - The solved H in addition to E. H is very, very simple: given a set of squares and circles, how many pairs “figure A fits inside figure B” are there? Just sorting.&lt;br/&gt;
&lt;b&gt;13:23&lt;/b&gt; - This problem shows the “Polish flavor” of the problem statements today (they were prepared by Jakub Pachocki, also known as meret): whenever a nlogn solution is expected, n will be at least a million. If there was a linear-time solution in mind, n would be at least 10 million :) In Russian contests, nlogn is usually tested via n equal to about hundred thousand.&lt;br/&gt;
&lt;b&gt;13:25&lt;/b&gt; - The score is 5:5, there are two teams - Russian and Chinese - with two problems, and two teams - again Russian and Chinese - with zero problems.&lt;br/&gt;
&lt;b&gt;13:29&lt;/b&gt; - Development environments: Russian teams 4x FAR manager, 1x Visual Studio. Chinese teams: 2x Visual Studio, 1x Eclipse, 2x something like GVIM or Notepad++.&lt;br/&gt;
&lt;b&gt;13:35&lt;/b&gt; - Task G is also solved by ITMO. Given number n, find minimum of values popcount(n * k) for integer k &gt; 0, where popcount is number of 1 bits in binary representations. Also problem statement gives emphasis on the fact that for n = 2&lt;sup&gt;m&lt;/sup&gt; - 1 such value is achieved for k = 1.&lt;br/&gt;
&lt;b&gt;13:38&lt;/b&gt; - Task I is also solved by ITMO - find number of comprime subsets of {1, 2, … , n}. Subset is coprime if every pair of its elements are coprime.&lt;br/&gt;
&lt;b&gt;13:40&lt;/b&gt; - Apparently ITMO were too fast - now all three are just reading problem statements, they’re not using their computer since they don’t have any more solved problems :)&lt;br/&gt;
&lt;b&gt;13:43&lt;/b&gt; - 13:8. As I expected, top 3 Russian teams stand out, only SJTU (2010 ACM ICPC World Champions) manages to keep level right now.&lt;br/&gt;
&lt;b&gt;13:44&lt;/b&gt; - Problem G looks to be a BFS on a graph with 0 and 1 edges: let’s look at the multiplier from the least significant digit. It determines the last digit of the product, and the carry which is a number up to n. So vertices of our graph are correspond to those “carry” values, and edges have 0 or 1 or them depending on what the corresponding last digit of the product turns out to be, and we need to find the shortest non-trivial path from 0 to 0.&lt;br/&gt;
&lt;b&gt;13:48&lt;/b&gt; - Task A is solved by SJTU. In graph with weighted edges we need to select subset of edges with minimum total weight that would connect given 4 vertices.&lt;br/&gt;
&lt;b&gt;13:51&lt;/b&gt; - The main idea of problem I: we need to keep track of whether we used each of the prime numbers up to sqrt(3000). For larger prime numbers, we can process them in sequence since they don’t interfere with each other.&lt;br/&gt;
&lt;b&gt;13:58&lt;/b&gt; - It looks like the connecting graph in problem A can always be represented as: a path connecting two of the chosen nodes, another path connecting two of the chosen nodes, then a path connecting those paths. Then we can do the following: first, for each vertex in the graph, let's find the shortest distance to each of the chosen nodes. Then, by summing two of those, we obtain "the cheapest way to connect two nodes with a path going through vertex X". And then, we can run another Dijkstra starting with those values that would deduce "the cheapest way to connect two nodes with a path and then connect that path to vertex X". Finally, summing those numbers for two different pairs of nodes should give the answer.&lt;br/&gt;
&lt;b&gt;14:21&lt;/b&gt; - Sorry for not updating the blog for some time. Not much is happening, as the top teams look to be searching for the next solvable problem, but haven’t found it yet.&lt;br/&gt;
&lt;b&gt;14:28&lt;/b&gt; - Problem L talks about a nice constructive object - a Fibonacci graph (see the problem statements like above for the definition). It would seem that the solution will have to be equally constructive, but I can’t see it yet.&lt;br/&gt;
&lt;b&gt;14:29&lt;/b&gt; - In task J we are given list of numbers s&lt;sub&gt;i&lt;/sub&gt; and we need to answer the following queries - find the maximum of s&lt;sub&gt;i&lt;/sub&gt;+z*(i-a) for i between a and b. There are additional constraints on s, but they are irrelevant to my solution.
First, the “-a” part doesn’t affect where the maximum is located, so we can forget about it.
Let’s build an interval tree, where each node would be able to tell the required maximum for the corresponding segment for each value of z - by keeping a list of (minimum value of z, maximum value of z, linear function for maximum). We can build such tree in nlogn time and nlogn memory. Then we can answer each query naively in log&lt;sup&gt;2&lt;/sup&gt;n time, but if we would sort queries by z we can achieve total time of O(m log m + m log n). &lt;br/&gt;
&lt;b&gt;14:34&lt;/b&gt; - Score is pretty close - 21:20 with Russia still in the lead.&lt;br/&gt;
&lt;b&gt;14:42&lt;/b&gt; - Problem C: given a polygon and several queries, each query containing a direction, is this polygon a combination of two non-decreasing chains in that direction?&lt;br/&gt;
&lt;b&gt;14:43&lt;/b&gt; - It looks like the difficulty in this problem is technical, not algorithmic. As we rotate the direction, we can maintain the leftmost and rightmost corners, and then need to answer queries "is it true that all polar angles of edges between leftmost and rightmost are between alpha and alpha+pi, and all polar angles of edges between rightmost and leftmost are between alpha+pi and alpha+2*pi. This should be doable in nlogn by appropriately choosing "events".&lt;br/&gt;
&lt;b&gt;14:45&lt;/b&gt; - In the meantime, China is ahead again - 21:22. They were ahead for about one minute between 10th and 11th minutes of the contest :)&lt;br/&gt;
&lt;b&gt;14:45&lt;/b&gt; - While top Russian teams do better than top Chinese teams, at the bottom China performs much better.&lt;br/&gt;
&lt;b&gt;14:50&lt;/b&gt; - It looks like the main driver of Chinese rise was Sun Yat-Sen U - they used to had wrong attempts on 4 different problems, now they’ve corrected their solutions for 3 of them.&lt;br/&gt;
&lt;b&gt;14:52&lt;/b&gt; - Problem D: we start with a sequence of integers. Now we take all n*(n+1)/2 its subsegments, sort each of them separately, and then sort them as sequences lexicographically. What will be the k-th sequence?&lt;br/&gt;
&lt;b&gt;14:55&lt;/b&gt; - to be precise, sorting is not exactly lexicographical - when one word is a prefix of another, it’s considered greater than the other, not less.&lt;br/&gt;
&lt;b&gt;14:57&lt;/b&gt; - It seems that we should first count how many segments contain all 1's, then how many contain all but one, and so on. Once we've established how many ones are there in the answer, what to do next? :)&lt;/br&gt;
&lt;b&gt;15:00&lt;/b&gt; - ITMO is the first team to solve L.&lt;br/&gt;
&lt;b&gt;15:01&lt;/b&gt; - The condition "has exactly X occurrences of number Y" defines a set of rectangles on the (left end, right end) plane. So we could try to maintain a set of (non-intersecting) rectangles on that plane as we build up our answer, but I'm not sure if the running time won't explode.&lt;br/&gt;
&lt;b&gt;15:10&lt;/b&gt; - Problem F: you are given a set of crates, each with a base area and a height, the product of those two being its volume, and we need to hold a given volume of honey. In case we have more than enough crates, we can save storage space by putting one crate inside another - more precisely, the total base area of crates directly inside a given crate should not exceed its base area, and that will result in less honey fitting into the outer crate.&lt;br/&gt;
&lt;b&gt;15:18&lt;/b&gt; - Also each base area is a power of two. This seems to be quite easy. First, let’s do a binary search on the total area. As soon as we’ve fixed the area, we go from the largest boxes to the smallest boxes. At each size, we have a certain number of “slots” for crates of this size. It’s easy to see that we should put the highest crates there (and all others inside them so they’ve effectively skipped), and we should put the highest crates so that they stand above the existing crates as much as possible, so that the smallest amount of volume is wasted. Just greedy in several aspects.&lt;/br&gt;
&lt;b&gt;15:26&lt;/b&gt; - Tweets about the contest: &lt;a href="https://twitter.com/search/realtime?q=%D0%B1%D0%B8%D1%82%D0%B2%D0%B0%20%D0%B3%D0%B8%D0%B3%D0%B0%D0%BD%D1%82%D0%BE%D0%B2&amp;src=typd"&gt;https://twitter.com/search/realtime?q=%D0%B1%D0%B8%D1%82%D0%B2%D0%B0%20%D0%B3%D0%B8%D0%B3%D0%B0%D0%BD%D1%82%D0%BE%D0%B2&amp;src=typd&lt;/a&gt;&lt;br/&gt;
&lt;b&gt;15:27&lt;/b&gt; - Problem K is hard to describe quickly, you will need to read the problem statement using the link in the beginning of this post. I would expect that the biggest difficulty there is understanding what the given definition really means.&lt;br/&gt;
&lt;b&gt;15:30&lt;/b&gt; - Not too many problems solved in the past hours. The bottom two teams are still from Russia, 3 and 2 problems, last one solved almost an hour and a half ago. There are 3 teams with 7 problems at the top: ITMO, SJTU, MSU, the fourth team has just 5.&lt;br/&gt;
&lt;b&gt;15:35&lt;/b&gt; - For ITMO, Gennady is solving problems on paper, while Mikhail and Niyaz are alternating in coding the problems they’ve solved already. Righ now Mikhail has found a bug in his solution, probably for F, so we should be seeing another submit there soon.&lt;br/&gt;
&lt;b&gt;15:39&lt;/b&gt; - SJTU and Zhejiang are actually not using their computers right now, apparently solving problems requires a lot of effort today.&lt;br/&gt;
&lt;b&gt;15:41&lt;/b&gt; - And my prediction was true: ITMO does solve F, leading with 8 right now.&lt;br/&gt;
&lt;b&gt;15:41&lt;/b&gt; - Task L: for each vertex i let’s consider &lt;a href="http://en.wikipedia.org/wiki/Fibonacci_coding"&gt;Fibonacci coding&lt;/a&gt; of i - 1. We can see that two vertices are connected by edge iff their codings differ in just one position. That means that shortest path length is always the number of positions in which endpoints differ. But we cannot alter digits in any order as not every binary string is valid Fibonacci coding. Hence we need dynamically count number of permutations of positions where coding have different digits. State would be (number of permutations of said positions with indices &lt;= k, position of k in this permutation).&lt;br/&gt;
&lt;b&gt;15:48&lt;/b&gt; - ITMO solves C and leads 9-7!&lt;br/&gt;
&lt;b&gt;15:54&lt;/b&gt; - Gennady sat down to code J. The teams are so close to spectators that we can almost see the code, or literally see it using a camera with zoom :)&lt;br/&gt;
&lt;b&gt;15:56&lt;/b&gt; - A view from above by Leonid: &lt;a href="http://twitpic.com/cnb2w2"&gt;http://twitpic.com/cnb2w2&lt;/a&gt;.&lt;br/&gt;
&lt;b&gt;15:59&lt;/b&gt; - Meanwhile, &lt;a href="https://twitter.com/lperovskaya"&gt;https://twitter.com/lperovskaya&lt;/a&gt; tweets under &lt;a href="https://twitter.com/niyaznigmatul"&gt;https://twitter.com/niyaznigmatul&lt;/a&gt;'s account. Imagine what would real tweets from a contestant look like :)&lt;br/&gt;
&lt;b&gt;16:18&lt;/b&gt; - The only submission in the fourth hour of the contest so far is SPb SU 4’s L.&lt;br/&gt;
&lt;b&gt;16:20&lt;/b&gt; - And just as a wrote that, two more submissions, including ITMO’s J. Now they have just 2 problems to go, D and K. I don’t know how to solve both yet, although I suspect K is easy.&lt;br /&gt;
&lt;b&gt;16:29&lt;/b&gt; - Problem K: first, making the sequence non-periodic can be obtained using inclusion-exclusion, and making it lexicographically largest just means dividing the answer by m. The only problem is counting plain sequences with the given sum and the given restriction.&lt;br/&gt;
&lt;b&gt;16:42&lt;/b&gt; - Now every team except Tsinghua is coding. Generally, this looks to be the time when MIPT and Ural FU have to perform - the top 3 Russian teams will saturate, and even if they solve more problems, they will not solve many.&lt;br/&gt;
&lt;b&gt;16:47&lt;/b&gt; - It seems that Gennady is solving one of the remaining problems, while Niyaz is coding the other under supervision of Mikhail. &lt;br/&gt;
&lt;b&gt;16:55&lt;/b&gt; - And ITMO solve K. They really are several heads above the competition. Just one problem remaining for them - D.&lt;br/&gt;
&lt;b&gt;16:57&lt;/b&gt; - Russia leads by 7 in top 6, but trails by 4 in last 4.&lt;br/&gt;
&lt;b&gt;17:00&lt;/b&gt; - Standings are frozen now. Russia leads 34:31, top 3 is ITMO with 11, MSU with 9 and SJTU with 8.&lt;br/&gt;
&lt;b&gt;17:22&lt;/b&gt; - The scoreboard is frozen now. In the last 30 minutes the teams themselves won’t know the outcomes of their submissions. I’ve been coding a soluton for D in the past 20 minutes along the lines of the above idea, and ended up being O(n^2) and got a TLE :)&lt;br/&gt;
&lt;b&gt;17:26&lt;/b&gt; - Even despite the time limit being 30 seconds. Jakub (the author of the problems) says that his solution runs in just 2 seconds.&lt;br/&gt;
&lt;b&gt;17:31&lt;/b&gt; - Interesting info in Codeforces comments: Jakub prepared this contest, and in return the organizers paid for his and his team’s trip to the championship. A model similar to Petrozavodsk camps.&lt;br/&gt;
&lt;b&gt;17:36&lt;/b&gt; - Submissions after the freeze are not frequent. MSU and SJTU are working on C, SPbSU on F. Several submissions from MIPT and Ural FU, hope they’re fighting well for Russia :)&lt;br/&gt;
&lt;b&gt;17:47&lt;/b&gt; - Most teams are looking at the screen together (all three people), trying to find bugs in their code. ITMO have submitted D but haven’t received any outcome, as promised, so they’re trying to find bugs anyway.&lt;br/&gt;
&lt;b&gt;17:50&lt;/b&gt; - Actually, that’s not true - they haven’t submitted D, so apparently it’s not working even on their examples.&lt;br/&gt;
&lt;b&gt;17:51&lt;/b&gt; - I think the format is awesome. There are two awesome things: first, the Russia vs China aspect, and second, the total low number of teams participating, meaning that spectators can get a really detailed picture about what’s going on. I think we might want to have TopCoder-style elimination tournaments for teams, with the final round of just 8.&lt;br/&gt;
&lt;b&gt;17:54&lt;/b&gt; - Since no other team has submitted K, it would seem that ITMO’s fight with D doesn’t matter - but it does beause it would still affect the overall Russia score.&lt;br/&gt;
&lt;b&gt;17:56&lt;/b&gt; - Apparently the official results will only be announced at the closing ceremony two days layer. There will only be rumors until then, although with just 10 teams it would probably not be hard to figure out Russia/China scores.&lt;br/&gt;
&lt;b&gt;18:01&lt;/b&gt; - The contest is over. ITMO submitted D during last 5 minutes.&lt;br/&gt;
&lt;b&gt;18:05&lt;/b&gt; - That’s probably all for today, will post rumors if there are any. Thanks for reading!&lt;br/&gt;
&lt;/div&gt;
















&lt;img src="http://feeds.feedburner.com/~r/PetrMitrichev/~4/oaOwPPtJ2gM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://petr-mitrichev.blogspot.com/feeds/4392896269087565505/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1953325079793449971&amp;postID=4392896269087565505" title="15 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1953325079793449971/posts/default/4392896269087565505?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1953325079793449971/posts/default/4392896269087565505?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PetrMitrichev/~3/oaOwPPtJ2gM/ural-championship-day-1-russia-vs-china.html" title="Ural Championship - day 1 : Russia vs China" /><author><name>Petr Mitrichev</name><uri>https://plus.google.com/108329321411299197209</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-yeuTcunFdtw/AAAAAAAAAAI/AAAAAAAAUt4/R54CIwnJtZo/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-1cm9ipEz4pQ/UYC0oQsj1XI/AAAAAAAAZK0/qyg4NhuiutA/s72-c/IMG_20130501_120524.jpg" height="72" width="72" /><thr:total>15</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://petr-mitrichev.blogspot.com/2013/05/ural-championship-day-1-russia-vs-china.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk8CQ30_eCp7ImA9WhBUE08.&quot;"><id>tag:blogger.com,1999:blog-1953325079793449971.post-9063083892545979252</id><published>2013-04-30T16:27:00.001+04:00</published><updated>2013-04-30T16:27:42.340+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-04-30T16:27:42.340+04:00</app:edited><title>Ural Championship - flight to</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;a href="http://1.bp.blogspot.com/-UMXDhZajivY/UX-3tBkQeQI/AAAAAAAAZEk/PRny5ol6YCI/s1600/IMG_20130430_160704.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="154" src="http://1.bp.blogspot.com/-UMXDhZajivY/UX-3tBkQeQI/AAAAAAAAZEk/PRny5ol6YCI/s320/IMG_20130430_160704.jpg" width="320" /&gt;&lt;/a&gt;
The 2013 Ural Championship will take place between May 1 and May 3 in Ekaterinburg. This is an annual contest held using ACM ICPC-like rules, but this year the organizers have stepped up to make it a top-notch event, inviting many teams of the highest level. I'm currently waiting to board a plane to Ekaterniburg in the cloudy Moscow, pictured on the left.&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
There will be two contests. On May 1, top 5 Russian teams (as defined by NEERC results) and top 5 Chinese teams (not sure what the definition is) will face off in what seems both a unique team-of-teams competition, and also one of the last contests featuring those strong teams before they meet again in the ACM ICPC World Finals in the beginning of July.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
On May 3, the Ural Championship itself will take place. In addition to 10 teams mentioned above, there will be many other strong teams from the present and from the past, including my team with Egor Kulikov and Pavel Mavrin, a past ACM ICPC World Champion team from SPb IFMO, and many others. This will be a great chance to see the best teams from the past compete against the best teams of 2013.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
There will be live TV broadcast in English and Russian on May 3:&amp;nbsp;&lt;a href="http://codeforces.ru/blog/entry/7519"&gt;http://codeforces.ru/blog/entry/7519&lt;/a&gt;.&amp;nbsp;I will try to post updates in my blog during the entire event, except the contest(s) I will participate in myself :)&lt;/div&gt;
&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/PetrMitrichev/~4/uj4wbwCzeS4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://petr-mitrichev.blogspot.com/feeds/9063083892545979252/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1953325079793449971&amp;postID=9063083892545979252" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1953325079793449971/posts/default/9063083892545979252?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1953325079793449971/posts/default/9063083892545979252?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PetrMitrichev/~3/uj4wbwCzeS4/ural-championship-flight-to.html" title="Ural Championship - flight to" /><author><name>Petr Mitrichev</name><uri>https://plus.google.com/108329321411299197209</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-yeuTcunFdtw/AAAAAAAAAAI/AAAAAAAAUt4/R54CIwnJtZo/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-UMXDhZajivY/UX-3tBkQeQI/AAAAAAAAZEk/PRny5ol6YCI/s72-c/IMG_20130430_160704.jpg" height="72" width="72" /><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://petr-mitrichev.blogspot.com/2013/04/ural-championship-flight-to.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUAMQXk9eCp7ImA9WhBWGE8.&quot;"><id>tag:blogger.com,1999:blog-1953325079793449971.post-8780091699362700119</id><published>2013-04-13T07:29:00.000+04:00</published><updated>2013-04-13T07:29:40.760+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-04-13T07:29:40.760+04:00</app:edited><title>Google Code Jam 2013 is underway!</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-fgjqfv4U60E/UWjQE_Lv7jI/AAAAAAAAYEA/MzHUcOupa0I/s1600/2010_3.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-fgjqfv4U60E/UWjQE_Lv7jI/AAAAAAAAYEA/MzHUcOupa0I/s1600/2010_3.png" /&gt;&lt;/a&gt;&lt;/div&gt;
The qualification round for Google Code Jam 2013 has started, and will run for about 20 more hours (until &lt;a href="http://www.timeanddate.com/worldclock/fixedtime.html?p1=0&amp;amp;year=2013&amp;amp;month=4&amp;amp;day=14&amp;amp;hour=0&amp;amp;min=0&amp;amp;sec=0"&gt;4am on Sunday Moscow time&lt;/a&gt;). If you haven't already, you should take part. I'm involved with preparing problems for this competition, and hope you will like them :)&lt;br /&gt;
&lt;br /&gt;
Note that the time when you submit your solution doesn't matter in the qualification round, so those who started before you have no unfair advantage. You just have to submit before the round ends.&lt;br /&gt;
&lt;br /&gt;
Also note that you must not discuss the problems and solutions with others before the round ends. Online programming competitions are based in a large part on the honesty of their participants, so don't spoil it for everyone!&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/PetrMitrichev/~4/4sOrvGEYhjU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://petr-mitrichev.blogspot.com/feeds/8780091699362700119/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1953325079793449971&amp;postID=8780091699362700119" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1953325079793449971/posts/default/8780091699362700119?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1953325079793449971/posts/default/8780091699362700119?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PetrMitrichev/~3/4sOrvGEYhjU/google-code-jam-2013-is-underway.html" title="Google Code Jam 2013 is underway!" /><author><name>Petr Mitrichev</name><uri>https://plus.google.com/108329321411299197209</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-yeuTcunFdtw/AAAAAAAAAAI/AAAAAAAAUt4/R54CIwnJtZo/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-fgjqfv4U60E/UWjQE_Lv7jI/AAAAAAAAYEA/MzHUcOupa0I/s72-c/2010_3.png" height="72" width="72" /><thr:total>1</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://petr-mitrichev.blogspot.com/2013/04/google-code-jam-2013-is-underway.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUYEQnY7eyp7ImA9WhNUEE4.&quot;"><id>tag:blogger.com,1999:blog-1953325079793449971.post-2613473662218954338</id><published>2013-01-01T14:45:00.000+04:00</published><updated>2013-01-01T14:45:03.803+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-01-01T14:45:03.803+04:00</app:edited><title>Prime Contest on SnarkNews</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;table&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td width="60%"&gt;&lt;div&gt;
&lt;i&gt;...tonight at  twelve  o'clock on New Year's Eve,  plowing  through a blizzard,
they  came  in,  these  people  who  had  more  interest  in  bringing to  a
conclusion, or starting anew, a useful  undertaking than stunning themselves
with  vodka,  mindlessly kicking  with  their  legs,  playing  charades, and
practicing flirtations in various degrees of frivolity. Here came people who
would rather be with each other than anywhere else, who  couldn't stand  any
kind of Sunday, because they  were bored on Sunday. They were magi, Men with
a capital  M, and their motto was  "Monday  begins on Saturday." True,  they
knew an incantation or two, knew how to turn water into wine, and any one of
them would  not find  it difficult to  feed a thousand with five loaves. But
they were not magi for that. That was  chaff,  outer tinsel. They were  magi
because  they had a  tremendous knowledge, so much  indeed that quantity had
finally  been  transmuted  into quality, and they had come  into a different
relationship  with  the  world  than  ordinary  people.
&lt;/i&gt;&lt;br /&gt;
&lt;div style="text-align: right;"&gt;
Arkady Stugatsky, Boris Strugatsky&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;div&gt;
Following in a wonderful tradition, a Prime New Year's Contest is running right now on &lt;a href="http://snarknews.info/"&gt;snarknews.info&lt;/a&gt;. The name "Prime" is a Russian pun, as the russian word "Простой" translates both as "simple" and "prime", and this contest includes problems that were given at other programming contests in 2012 but have NOT been solved by anyone. Getting at least one problem accepted there is a great achievement.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
The direct link to log into the contest is&amp;nbsp;&lt;a href="http://acm.math.spbu.ru:17249/~ejudge/team.cgi?contest_id=13"&gt;http://acm.math.spbu.ru:17249/~ejudge/team.cgi?contest_id=13&lt;/a&gt;, and you need an Open Cup login to participate. If you don't have one, you can email new.opencup[guess what]gmail[guess what]com asking for one. The contest ends on January 10.&lt;/div&gt;
&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/PetrMitrichev/~4/P2QlQuSoj-0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://petr-mitrichev.blogspot.com/feeds/2613473662218954338/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1953325079793449971&amp;postID=2613473662218954338" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1953325079793449971/posts/default/2613473662218954338?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1953325079793449971/posts/default/2613473662218954338?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PetrMitrichev/~3/P2QlQuSoj-0/prime-contest-on-snarknews.html" title="Prime Contest on SnarkNews" /><author><name>Petr Mitrichev</name><uri>https://plus.google.com/108329321411299197209</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-yeuTcunFdtw/AAAAAAAAAAI/AAAAAAAAUt4/R54CIwnJtZo/s512-c/photo.jpg" /></author><thr:total>1</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://petr-mitrichev.blogspot.com/2013/01/prime-contest-on-snarknews.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkUESXczfip7ImA9WhNXFEo.&quot;"><id>tag:blogger.com,1999:blog-1953325079793449971.post-1767428677216421107</id><published>2012-12-02T21:43:00.002+04:00</published><updated>2012-12-02T21:43:28.986+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-12-02T21:43:28.986+04:00</app:edited><title>NEERC 2012 Results</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
NEERC 2012 Results (full results at official site: &lt;a href="http://neerc.ifmo.ru/information/standings.html"&gt;http://neerc.ifmo.ru/information/standings.html&lt;/a&gt;). Teams at 2nd and 3rd places got their last problem accepted 3 seconds before the end and 24 seconds before the end, respectively :)&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;table border="0" cellpadding="1" cellspacing="0" style="font-family: monospace;"&gt;&lt;tbody&gt;
&lt;tr bgcolor="ffffff"&gt;&lt;th class="rankl"&gt;Rank&lt;/th&gt;&lt;th class="party" style="padding-left: 10pt;"&gt;Team&lt;/th&gt;&lt;th class="problem" style="text-align: center; width: 45.814815521240234px;"&gt;A&lt;/th&gt;&lt;th class="problem" style="text-align: center; width: 45.814815521240234px;"&gt;B&lt;/th&gt;&lt;th class="problem" style="text-align: center; width: 45.814815521240234px;"&gt;C&lt;/th&gt;&lt;th class="problem" style="text-align: center; width: 45.814815521240234px;"&gt;D&lt;/th&gt;&lt;th class="problem" style="text-align: center; width: 45.814815521240234px;"&gt;E&lt;/th&gt;&lt;th class="problem" style="text-align: center; width: 45.814815521240234px;"&gt;F&lt;/th&gt;&lt;th class="problem" style="text-align: center; width: 45.814815521240234px;"&gt;G&lt;/th&gt;&lt;th class="problem" style="text-align: center; width: 45.814815521240234px;"&gt;H&lt;/th&gt;&lt;th class="problem" style="text-align: center; width: 45.814815521240234px;"&gt;I&lt;/th&gt;&lt;th class="problem" style="text-align: center; width: 45.814815521240234px;"&gt;J&lt;/th&gt;&lt;th class="problem" style="text-align: center; width: 45.814815521240234px;"&gt;K&lt;/th&gt;&lt;th class="problem" style="text-align: center; width: 45.814815521240234px;"&gt;L&lt;/th&gt;&lt;th class="solved" style="text-align: center; width: 45.814815521240234px;"&gt;=&lt;/th&gt;&lt;th class="penalty" style="padding-right: 10pt; text-align: right; width: 33.46296310424805px;"&gt;Time&lt;/th&gt;&lt;/tr&gt;
&lt;tr height="3"&gt;&lt;td colspan="16" style="text-align: center;"&gt;&lt;hr color="000000" size="1" /&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr bgcolor="d0f0ff"&gt;&lt;td class="rankl" style="text-align: center;"&gt;1&lt;/td&gt;&lt;td class="party" style="padding-left: 10pt;"&gt;SPb NRU ITMO 1 (Kever, Korotkevich, Nigmatullin)&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;14:14&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+3&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;105:18&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+1&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;42:11&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+3&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;238:02&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;30:36&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;205:53&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;9:45&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;19:13&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;183:46&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;78:00&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;b style="color: #c06060; font-weight: normal;"&gt;-10&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+1&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;146:06&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;11&lt;/td&gt;&lt;td class="penalty" style="padding-right: 10pt; text-align: right;"&gt;1229&lt;/td&gt;&lt;/tr&gt;
&lt;tr bgcolor="f8f8f8"&gt;&lt;td class="rankl" style="text-align: center;"&gt;2&lt;/td&gt;&lt;td class="party" style="padding-left: 10pt;"&gt;Moscow SU 1 (Fedorov, Kaluzhin, Rogulenko)&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;18:17&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+1&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;80:33&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;142:36&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+4&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;299:57&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;54:18&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;183:44&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;12:10&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;36:50&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;.&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;143:55&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;.&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+1&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;254:43&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;10&lt;/td&gt;&lt;td class="penalty" style="padding-right: 10pt; text-align: right;"&gt;1341&lt;/td&gt;&lt;/tr&gt;
&lt;tr bgcolor="ffffff"&gt;&lt;td class="rankl" style="text-align: center;"&gt;3&lt;/td&gt;&lt;td class="party" style="padding-left: 10pt;"&gt;Belarusian SU 1 (Malevich, Udavichenka, Zhgirovski)&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;16:39&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;170:35&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;116:29&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;.&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+3&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;108:38&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;214:43&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;24:26&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;29:59&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+6&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;299:36&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;182:16&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;.&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;153:35&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;10&lt;/td&gt;&lt;td class="penalty" style="padding-right: 10pt; text-align: right;"&gt;1491&lt;/td&gt;&lt;/tr&gt;
&lt;tr bgcolor="f8f8f8"&gt;&lt;td class="rankl" style="text-align: center;"&gt;4&lt;/td&gt;&lt;td class="party" style="padding-left: 10pt;"&gt;SPb SU 4 (Egorov, Kunyavskiy, Suvorov)&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;13:02&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;94:29&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;74:20&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+4&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;295:35&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+1&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;45:00&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+1&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;278:39&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;9:04&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+1&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;23:24&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+2&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;253:34&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+3&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;259:24&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;.&lt;/td&gt;&lt;td style="text-align: center;"&gt;.&lt;/td&gt;&lt;td style="text-align: center;"&gt;10&lt;/td&gt;&lt;td class="penalty" style="padding-right: 10pt; text-align: right;"&gt;1583&lt;/td&gt;&lt;/tr&gt;
&lt;tr bgcolor="d0f0ff"&gt;&lt;td class="rankl" style="text-align: center;"&gt;5&lt;/td&gt;&lt;td class="party" style="padding-left: 10pt;"&gt;SPb NRU ITMO 4 (Bardashevich, Kucherenko, Vedernikov)&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;11:22&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+3&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;180:24&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;110:13&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;.&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;92:41&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;233:45&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+2&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;33:57&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;44:46&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;.&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;164:04&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;.&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;290:50&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;9&lt;/td&gt;&lt;td class="penalty" style="padding-right: 10pt; text-align: right;"&gt;1257&lt;/td&gt;&lt;/tr&gt;
&lt;tr bgcolor="c8e8f8"&gt;&lt;td class="rankl" style="text-align: center;"&gt;6&lt;/td&gt;&lt;td class="party" style="padding-left: 10pt;"&gt;Moscow SU 4 (Kumok, Permin, Tikhomirov)&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;16:59&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+1&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;76:58&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;176:44&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;.&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;108:56&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;.&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+1&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;41:12&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;47:44&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+4&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;291:35&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;144:07&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;.&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;278:57&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;9&lt;/td&gt;&lt;td class="penalty" style="padding-right: 10pt; text-align: right;"&gt;1297&lt;/td&gt;&lt;/tr&gt;
&lt;tr bgcolor="d0f0ff"&gt;&lt;td class="rankl" style="text-align: center;"&gt;7&lt;/td&gt;&lt;td class="party" style="padding-left: 10pt;"&gt;Moscow SU 5 (Artuhin, Ignatev, Paramonov)&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+1&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;32:19&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+2&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;159:37&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;127:49&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;.&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;91:53&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;183:37&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;51:06&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;64:24&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;b style="color: #c06060; font-weight: normal;"&gt;-2&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;207:09&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;.&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+5&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;278:21&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;9&lt;/td&gt;&lt;td class="penalty" style="padding-right: 10pt; text-align: right;"&gt;1352&lt;/td&gt;&lt;/tr&gt;
&lt;tr bgcolor="c8e8f8"&gt;&lt;td class="rankl" style="text-align: center;"&gt;8&lt;/td&gt;&lt;td class="party" style="padding-left: 10pt;"&gt;Ural FU 2 (Dolgorukov, Shchelkonogov, Soboleva)&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;16:34&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+3&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;221:44&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+1&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;137:18&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;.&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+1&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;281:08&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;85:51&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;43:21&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+1&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;68:16&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;.&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+1&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;172:57&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;.&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;238:00&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;9&lt;/td&gt;&lt;td class="penalty" style="padding-right: 10pt; text-align: right;"&gt;1401&lt;/td&gt;&lt;/tr&gt;
&lt;tr bgcolor="d0f0ff"&gt;&lt;td class="rankl" style="text-align: center;"&gt;9&lt;/td&gt;&lt;td class="party" style="padding-left: 10pt;"&gt;Moscow SU 3 (Evstropov, Ivlev, Pyaderkin)&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;24:49&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+4&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;194:06&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+4&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;76:55&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;.&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;97:13&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;289:16&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;37:03&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+1&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;61:52&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;b style="color: #c06060; font-weight: normal;"&gt;-1&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+1&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;196:58&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;.&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+1&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;261:24&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;9&lt;/td&gt;&lt;td class="penalty" style="padding-right: 10pt; text-align: right;"&gt;1455&lt;/td&gt;&lt;/tr&gt;
&lt;tr bgcolor="c8e8f8"&gt;&lt;td class="rankl" style="text-align: center;"&gt;10&lt;/td&gt;&lt;td class="party" style="padding-left: 10pt;"&gt;Moscow SU 2 (Dubinin, Mokin, Sadkov)&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+1&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;14:12&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+1&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;182:00&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+3&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;146:59&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;.&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+3&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;125:17&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+1&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;246:48&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+1&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;21:42&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+5&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;179:22&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;.&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+1&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;223:09&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;b style="color: #c06060; font-weight: normal;"&gt;-1&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;&lt;i style="color: green; font-style: normal;"&gt;+&lt;s style="font-size: x-small; font-weight: bold; text-decoration: initial;"&gt;&lt;br /&gt;287:01&lt;/s&gt;&lt;/i&gt;&lt;/td&gt;&lt;td style="text-align: center;"&gt;9&lt;/td&gt;&lt;td class="penalty" style="padding-right: 10pt; text-align: right;"&gt;1743&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/PetrMitrichev/~4/61AZLg9MJFY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://petr-mitrichev.blogspot.com/feeds/1767428677216421107/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1953325079793449971&amp;postID=1767428677216421107" title="12 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1953325079793449971/posts/default/1767428677216421107?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1953325079793449971/posts/default/1767428677216421107?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PetrMitrichev/~3/61AZLg9MJFY/neerc-2012-results.html" title="NEERC 2012 Results" /><author><name>Petr Mitrichev</name><uri>https://plus.google.com/108329321411299197209</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-yeuTcunFdtw/AAAAAAAAAAI/AAAAAAAAUt4/R54CIwnJtZo/s512-c/photo.jpg" /></author><thr:total>12</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://petr-mitrichev.blogspot.com/2012/12/neerc-2012-results.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUYGQn09eip7ImA9WhNXFEk.&quot;"><id>tag:blogger.com,1999:blog-1953325079793449971.post-2268470428816512017</id><published>2012-12-02T09:42:00.001+04:00</published><updated>2012-12-02T15:18:43.362+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-12-02T15:18:43.362+04:00</app:edited><title>NEERC 2012 - Комментарии</title><content type="html">&lt;p&gt;&lt;b&gt;15:16&lt;/b&gt; - Контест закончен. Результаты будут известны сегодня вечером, через 4-5 часов. Я напишу про это отдельный пост, на английском. Трансляция на этом завершена, но если у вас остались вопросы, пишите их в комментарии, постараюсь ответить.
&lt;p&gt;&lt;b&gt;15:08&lt;/b&gt; - ИТМО 1 стали посылать задачу K. Цитата из их первого решения:
&lt;pre&gt;if (rand.nextBoolean()) {
  out.println("Aastria and Abstria intersect");&lt;/pre&gt;
&lt;p&gt;&lt;b&gt;15:07&lt;/b&gt; - Во втором решении команды МГУ 1 по D (с тех пор уже пришло третье) была та же ошибка, что и у всех остальных команд в этой задаче - не хватает промежуточной вершины в замыкании Клини.
&lt;p&gt;&lt;b&gt;15:00&lt;/b&gt; - Осталось 10 минут. В последние минуты посылают в основном задачу B.
&lt;p&gt;&lt;b&gt;14:55&lt;/b&gt; - В предпоследнем решении команды Saratov SU 1 в задаче B не разобран крайний случай - когда нужно набрать вес 0. С тех пор, как я это обнаружил, пришёл ещё один сабмит, поэтому я могу теперь написать о результате предпоследнего :)
&lt;p&gt;&lt;b&gt;14:53&lt;/b&gt; - А самое большое решение тем временем тоже у команды ИТМО 1, последний сабмит по задаче D, 10016 байт.
&lt;p&gt;&lt;b&gt;14:47&lt;/b&gt; - Результаты конкретных посылок я не буду писать, но изменений очень много. Такое впечатление, что после заморозки команды стали делать меньше ошибок.
&lt;p&gt;&lt;b&gt;14:39&lt;/b&gt; - Осталось полчаса до конца контеста. Уже многие команды-лидеры послали решения, и некоторые из них прошли :)
&lt;p&gt;&lt;b&gt;14:11&lt;/b&gt; - Результаты заморожены, но видно, какие команды отправляют решения. Я где-то на полчаса ухожу обедать, но обязательно буду комментировать конец соревнования.
&lt;p&gt;&lt;b&gt;14:10&lt;/b&gt; - Мы прорешивали эти задачи вместе с Андреем Халявиным, у нас было на момент заморозки 10 задач - не была решена задача J :) (ну и K).
&lt;p&gt;&lt;b&gt;14:08&lt;/b&gt; - ИТМО 1 сдаёт D, им осталась только задача K. В ней основная сложность - за O(NlogN) проверить, есть ли самопересечения у ломаной, кроме этого нужно просто аккуратно всё написать.
&lt;p&gt;&lt;b&gt;14:06&lt;/b&gt; - Тем временем, у ИТМО 1 10 задач, они по-прежнему не могут найти ошибку в D. У БГУ 9 задач, у МГУ 1, ИТМО 4, МГУ 5 по 8 задач.
&lt;p&gt;&lt;b&gt;14:00&lt;/b&gt; - Из комментариев: "Что у СПБ ГУ 2 с В? И есть ли сабмиты на Delphi? Спасибо" Delphi на полуфинале нет с 2007 года. Решение СПб ГУ 2 не работает на тесте из условия - приходит в 2, а не в 5.
&lt;p&gt;&lt;b&gt;13:57&lt;/b&gt; - Из комментариев: "Что у ижгту в B?" Не очень понятно. Они находят не максимальный возможный вес, само решение похоже на правильное.
&lt;p&gt;&lt;b&gt;13:56&lt;/b&gt; - Из комментариев: "Сколько команд проходит в финал? спасибо" Это ещё не объявлено.
&lt;p&gt;&lt;b&gt;13:48&lt;/b&gt; - Из комментариев: "Что с сабмитом СПбГУ 4 по J?" Что-то очень странное. Оно не работает на первом тесте, падая на строчке "assert(0)", и это выглядит, как будто они не разобрали один из случаев, и оставили там заглушку. Но если это происходит на первом тесте, то зачем посылать? В любом случае, очень странно что они уже очень долго ничего не посылают.
&lt;p&gt;&lt;b&gt;13:46&lt;/b&gt; - Из комментариев: "Насколько близки БГУ2 к сдаче B?" Сдали :)
&lt;p&gt;&lt;b&gt;13:45&lt;/b&gt; - Из комментариев: "А сколько сейчас решений на С++ у команды ИТМО 1?" A, B, F, G, I, L.
&lt;p&gt;&lt;b&gt;13:43&lt;/b&gt; - Из комментариев: "Насколько близки MIPT 2 к сдаче I?" Мне кажется близки, решение очень похоже на верное. У них выдаётся 130 букв Q на тесте, где правильный ответ 400 букв Q.
&lt;p&gt;&lt;b&gt;13:41&lt;/b&gt; - Из комментариев: "What can you say about difficalties in problem I? Are there some "underwater stone"?". Да, там требуется очень много аккуратности, чтобы не посчитать некоторые пики два раза.
&lt;p&gt;&lt;b&gt;13:39&lt;/b&gt; - Из комментариев: "Петя, а не подскажешь, что с командой БГУИР 1 (Belarusian SUIR 1) - у них уже 6 неверных попыток в задаче C". У них ошибка в тесте с большим ответом, видимо проблемы с eps. Само решение похоже на правильное.
&lt;p&gt;&lt;b&gt;13:36&lt;/b&gt; - ИТМО 1 сдали F. Теперь, видимо, Миша Кевер будет писать K, а Гена и Нияз будут искать ошибку в D.
&lt;p&gt;&lt;b&gt;13:32&lt;/b&gt; - Может быть, вы хотите узнать ещё что-нибудь о сабмитах? Пишите в комментариях.
&lt;p&gt;&lt;b&gt;13:27&lt;/b&gt; - Команда МГУ 3 досдала 2 задачи за 3 минуты, теперь у них 7. Пока что всё равно кажется, что составить конкуренцию МГУ 1 за выход в финал никто не сможет.
&lt;p&gt;&lt;b&gt;13:22&lt;/b&gt; - От СПбГУ сейчас проходит в финал третья команда.
&lt;p&gt;&lt;b&gt;13:20&lt;/b&gt; - В этом году командам приносят шарики, если они первыми сдали какую-то задачу. Пока что 6 таких шариков у ИТМО 1, один у МГУ 4, один у СПбГУ 4, и один у УрФУ 2.
&lt;p&gt;&lt;b&gt;13:14&lt;/b&gt; - ИТМО 1 сдают I. Не очень радостная необходимость писать решение для K всё ближе. МГУ 1 сдали F, вернулись на второе место. ИТМО 1 тут же исправили проблему с пустой строкой в D - но теперь у них та же проблема, что и у СПбГУ 4.
&lt;p&gt;&lt;b&gt;13:11&lt;/b&gt; - Тем временем МГУ 4 и ИТМО 4 сдали по 7 задач. СПбГУ 4 уже на 6 месте. У БГУ 1 уже 8 задач, они вышли на второе место.
&lt;p&gt;&lt;b&gt;13:05&lt;/b&gt; - Первая посылка по I в Санкт-Петербурге от команды МФТИ 2. Решение у них идейно верное, но видимо есть мелкие ошибки. Идея там такая: сначала найдём, какие линейные комбинации P и Q у нас есть, потом идём динамическим программированием одновременно с двух краёв, где состоянием является сколько P мы поставили слева, и сколько справа. O(N^3) состояний и такое же время работы. Нужно идти одновременно с двух краёв, чтобы можно было посчитать всего один раз, если какой-то префикс и какой-то суффикс дают одну и ту же массу.
&lt;p&gt;&lt;b&gt;13:02&lt;/b&gt; - Довольно странно, что задачи F и I кажутся сложными - F сдали две команды (Ural FU 2 и Saratov SU 2), I вообще никто не сдал. Мне кажется, что I проще L, а F проще D.
&lt;p&gt;&lt;b&gt;13:00&lt;/b&gt; - Самая высокая команда, у которой нет неверных попыток - Ульяновский ГТУ, 3 задачи.
&lt;p&gt;&lt;b&gt;12:57&lt;/b&gt; - На первых двух местах нет изменений - 8 задач у ИТМО 1, 7 задач у МГУ 1. Дальше 6 команд по 6 задач.
&lt;p&gt;&lt;b&gt;12:55&lt;/b&gt; - 515 решений на C++, 77 решений на Java всего среди петербургских решений.
&lt;p&gt;&lt;b&gt;12:48&lt;/b&gt; - У ИТМО 1 тоже есть неудачная попытка по D - они не заметили, что ответ должен быть непустой. Когда я тестировал задачи, я сделал ту же ошибку.
&lt;p&gt;&lt;b&gt;12:45&lt;/b&gt; - Команда Белорусского ГУ 1 тоже сдала L. Основная идея решения этой задачи такая: для того, чтобы заблокировать все пути из левого верхнего угла в правый нижний, необходимо и достаточно заблокировать два крайних пути: тот, что получается, если все время держаться рукой за левую стену, и такой же для правой стены.
&lt;p&gt;&lt;b&gt;12:43&lt;/b&gt; - Проблема в решении задачи L у ИТМО 1 была просто мелкой ошибкой. Из-за того, что у них есть "if" вместо цикла, они забыли одинаково обработать момент прихода в правый нижний угол в обеих ветках.
&lt;p&gt;&lt;b&gt;12:40&lt;/b&gt; - У СПбГУ 4 проблема с построением автомата для замыкания Клини: они забывают добавить отдельное состояние для "прочли очередное повторение", и поэтому их автомат для (cb*)* принимает строку "b", сначала переходя по переходу "не брать ничего" для (cb*)*, а потом возвращаясь по переходу "взять еще одну" для b*.
&lt;p&gt;&lt;b&gt;12:38&lt;/b&gt; - ИТМО 1 сдали L. СПбГУ 4 прошли чуть дальше, до такого теста:
&lt;pre&gt;(cb*)*
b&lt;/pre&gt;
&lt;p&gt;&lt;b&gt;12:36&lt;/b&gt; - Оба решения команд МГУ по J - конструктивное построение ответа.
&lt;p&gt;&lt;b&gt;12:33&lt;/b&gt; - МГУ сдаёт C и J за две минуты, и выходят на второе место. МГУ 4 сдаёт J и выходят на четвёртое место.
&lt;p&gt;&lt;b&gt;12:31&lt;/b&gt; - Задача D основана на стандартном построении автомата, который принимает только строки, удовлетворяющие заданному регулярному выражению. Чтобы автомат получится маленьким, в нем нужно сделать eps-переходы. Дальше у нас есть два автомата, и мы делаем граф, вершины которого - пары состояний автоматов, и есть переходы стоимости 0 и 1, и запускаем модифицированный поиск в ширину.
&lt;p&gt;&lt;b&gt;12:30&lt;/b&gt; - СПбГУ послали D, но не проходит такой тест:
&lt;pre&gt;b*a*
a&lt;/pre&gt;
&lt;p&gt;&lt;b&gt;12:27&lt;/b&gt; - Как-то не очень решают сегодня команды Саратова - не больше 3 задач у них. Надеюсь, ускорятся :)
&lt;p&gt;&lt;b&gt;12:23&lt;/b&gt; - Вот тест, который у них не работает. Похоже, у них не работает, когда ответ 1?..
&lt;pre&gt;15 12
....#.......##.
###.##.#.##..#.
..#..###..##...
.###..#..####.#
.#.##.##..#.#..
....#..##...##.
#.####.#..#..#.
..#....#.###.#.
#...######.#.#.
..###.##.....##
.##.#.#..#.#..#
........##.##..&lt;/pre&gt;
&lt;p&gt;&lt;b&gt;12:19&lt;/b&gt; - У ИТМО 1 неудачная попытка по L. Главная идея в решении у них есть, но вот детали видимо не доделаны.
&lt;p&gt;&lt;b&gt;12:15&lt;/b&gt; - 201 команда сдала хоть одну задачу (все они сдали задачу A), 114 команд сдали задачу G.
&lt;p&gt;&lt;b&gt;12:14&lt;/b&gt; - Самое большое решение из уже отправленных - решение команды Ижевского ГУ 2 по задаче G на С++ - 4110 байт. Довольно мало.
&lt;p&gt;&lt;b&gt;12:00&lt;/b&gt; - Не открыты четыре задачи: D, I, K, L. D и K - стандартные алгоритмы, но много писать, I и L нужно придумать, но писать меньше.
&lt;p&gt;&lt;b&gt;11:59&lt;/b&gt; - У команды ИТМО 1 три задачи из семи сданы на C++: A, B, G - видимо, их писал Гена. Давно ничего не сдаёт МГУ.
&lt;p&gt;&lt;b&gt;11:56&lt;/b&gt; - ИТМО 1 сдали B, избавившись от приближённой части. 60 штрафных минут потрачено на 3 неверные попытки, плюс довольно много времени за компьютером.
&lt;p&gt;&lt;b&gt;11:49&lt;/b&gt; - у ИТМО 1 третья неудачная попытка по B, проблема с 1000 команд остаётся.
&lt;p&gt;&lt;b&gt;11:46&lt;/b&gt; - СПбГУ 4 сдали B с первой попытки, у них тоже 6. Отставание 86 минут.
&lt;p&gt;&lt;b&gt;11:42&lt;/b&gt; - ИТМО 1 исправили проблему со stop, но оставили приближенный поиск весов за 666 шагов, и теперь им не хватает 1000 шагов.
&lt;p&gt;&lt;b&gt;11:41&lt;/b&gt; - Их перебор работает за 140 миллисекунд на самом медленном тесте.
&lt;p&gt;&lt;b&gt;11:36&lt;/b&gt; - Открыта ещё одна задача: F, её сдала команда Ural FU 2. Сама задача - просто перебор, без особых ухищрений.
&lt;p&gt;&lt;b&gt;11:33&lt;/b&gt; - МГУ 1 сдаёт B, теперь 6-5-5, СПбГУ обгоняет МГУ на 16 минут. Решение по B у всех успешных команд одинаковое: сначала уменьшаем вес до нуля, потом наращиваем до максимума, запоминая все n весов, потом перебором всех подмножеств находим нужный вес и уменьшаемся до него.
&lt;p&gt;&lt;b&gt;11:31&lt;/b&gt; - Решение задачи J у ИТМО 1 конструктивное. Слева тратим почти все прыжки по 3 (туда-обратно-туда), справа тратим все прыжки по два (туда-обратно), получаются три случая в зависимости от количества оставшихся прыжка по 3 (0, 1 или 2).
&lt;p&gt;&lt;b&gt;11:28&lt;/b&gt; - Открыты две новые задачи: ИТМО 1 сдали J, МГУ 4 досдали B. Единственное изменение в их решении - ответ на первый запрос :)
&lt;p&gt;&lt;b&gt;11:27&lt;/b&gt; - МГУ 3 досдали C, избавившись от eps как ИТМО 1 - деля в конце на НОД.
&lt;p&gt;&lt;b&gt;11:26&lt;/b&gt; - Две команды по 5 задач, отставание 70 минут.
&lt;p&gt;&lt;b&gt;11:25&lt;/b&gt; - СПбГУ 4 сдали C. У них решение очень аккуратное - в целых числах.
&lt;p&gt;&lt;b&gt;11:22&lt;/b&gt; - Что-то посылок стало очень мало, одна в минуту. Первые три места те же.
&lt;p&gt;&lt;b&gt;11:20&lt;/b&gt; - У команды МГУ 4 по задаче B решение почти правильное, но они неправильно обрабатывают самый первый запрос - отвечают на него "decline", и поэтому вообще не знают, какое число является текущим.
&lt;p&gt;&lt;b&gt;11:18&lt;/b&gt; - Проблемы с точностью продолжаются. Они уменьшили eps до 1e-14, и теперь выводят пустой файл - не находят никакого подходящего рационального приближения.
&lt;p&gt;&lt;b&gt;11:16&lt;/b&gt; - У команды МГУ 3 ("Тапирёнок") по задаче C как раз, похоже, проблемы с eps - неправильный ответ в тесте с большим знаменателем.
&lt;p&gt;&lt;b&gt;11:11&lt;/b&gt; - Теперь ИТМО 1 получили неправильный ответ по B. Я на этом уже один раз обжёгся, но опять скажу, что до правильного решения довольно далеко. Во-первых, они неправильно поняли формат обмена с проверяющей программой (говорят stop после accept, а не вместо него), во-вторых, у них приближённое решение для случая, когда есть совпадающие числа - пытаются по количеству раз, когда прибавляется какое-то число из первых 666 шагов, оценить количество таких равных чисел. Хотя, может быть, это и работает.
&lt;p&gt;&lt;b&gt;11:07&lt;/b&gt; - Первые три команды те же, но теперь в другом порядке - из-за чистой сдачи МГУ вышли на второе место с четырьмя задачами.
&lt;p&gt;&lt;b&gt;11:04&lt;/b&gt; - У первой команды Петрозаводского ГУ 1 странное решение по C - считают, что ответ либо целый либо полуцелый. На самом деле там знаменатели до ста тысяч. Собственно решение такое - отсортируем отрезки, бинарный поиск по ответу, пытаемся для каждого отрезка поставить его подотрезок как можно левее. Соответственно, возможные препятствия - сколько-то копий ответа влезло целиком между двумя целыми точками, а копий может быть до ста тысяч.
&lt;p&gt;&lt;b&gt;10:58&lt;/b&gt; - Прошло 50 минут, первые три места 5-4-3 задач. Дальше должно идти помедленнее. Надеюсь. Иначе задач не хватит.
&lt;p&gt;&lt;b&gt;10:56&lt;/b&gt; - У СПбГУ 4 задачи, сдали E. Решение стандартное: идём по возрастанию степени 10, для текущей степени 10 рассмотрим все мешки с достаточно мелкими монетами, и берём жадно от самого большого мешка к меньшему, пока не наберём достаточно, чтобы обнулить текущую цифру, потом переходим к следующей степени 10.
&lt;p&gt;&lt;b&gt;10:52&lt;/b&gt; - Добавили модуль, прошло. У них решение проще, чем я видел раньше - вместо того, чтобы использовать eps и мучиться с подбором правильного значение для него, они без eps выбирают наилучшее рациональное приближение, а потом делят числитель и знаменатель на их наибольший общий делитель, чтобы выбрать нужное приближение из равных. Здорово!
&lt;p&gt;&lt;b&gt;10:49&lt;/b&gt; - У ИТМО 1 неудачная попытка по C. До правильного решения пока далеко. Текущая основная ошибка - забыт модуль. В задаче нужно из числа в double получить рациональное число, и при проверке, на сколько отличается приближение от самого числа, они просто их вычитают, забывая взять модуль.
&lt;p&gt;&lt;b&gt;10:47&lt;/b&gt; - По задаче H очень чёткая картина - все решения на C++ которые используют квадратные скобки для чтения из map получают TL, все остальные решения проходят. Moscow SU 1 сразу написали нормально, вышли на третье место.
&lt;p&gt;&lt;b&gt;10:45&lt;/b&gt; - Пока что наборы задач монотонны - у всех команд с одной задачей только A, две задачи - A и G, три задачи A, G, H.
&lt;p&gt;&lt;b&gt;10:43&lt;/b&gt; - По три задачи у СПбГУ 4, БГУ 1 и КБТУ 1. МГУ отстаёт.
&lt;p&gt;&lt;b&gt;10:40&lt;/b&gt; - И четвёртая задача у ИТМО 1 - задача E. Тоже на Java, значит Гена готовится писать другие задачи :)
&lt;p&gt;&lt;b&gt;10:39&lt;/b&gt; - Тем временем есть посылки по задачам C, F, L - но проходят пока только те три, которые сдали лидеры.
&lt;p&gt;&lt;b&gt;10:38&lt;/b&gt; - Тем временем две команды по 3 задачи, 5 команд по 2 задачи.
&lt;p&gt;&lt;b&gt;10:36&lt;/b&gt; - Оказывается, дело было не просто в map - по умолчанию квадратные скобки создают новый элемент, и соответственно получалось слишком много элементов со значением 0. Исправили квадратные скобки на find() - прошло.
&lt;p&gt;&lt;b&gt;10:31&lt;/b&gt; - По задаче H: У ИТМО 1 решение на Java, и использует HashMap (из маски четностей по каждому символу в количество), а у СПбГУ на C++ и использует map - и у них Time Limit Exceeded из-за лишнего логарифма!
&lt;p&gt;&lt;b&gt;10:29&lt;/b&gt; - У ИТМО 1 третья задача - H.
&lt;p&gt;&lt;b&gt;10:29&lt;/b&gt; - Условия: &lt;a href="http://neerc.ifmo.ru/information/problems.pdf"&gt;http://neerc.ifmo.ru/information/problems.pdf&lt;/a&gt;
&lt;p&gt;&lt;b&gt;10:27&lt;/b&gt; - у ИТМО 1 тоже две задачи. G - 20 строк, A - 22 строки. Все четыре упомянутые задачи на C++ - значит у ИТМО 1 их писал Гена.
&lt;p&gt;&lt;b&gt;10:25&lt;/b&gt; - Решение задачи G СПбГУ - 17 строк, решение задачи A СПбГУ - 26 строк (кроме шаблона).
&lt;p&gt;&lt;b&gt;10:23&lt;/b&gt; - у СПбГУ уже 2 задачи. Вообще сегодня много не очень сложных задач, начало контеста будет интересным.
&lt;p&gt;&lt;b&gt;10:21&lt;/b&gt; - ИТМО 1 тоже сдают G. Еще 8 команд сдали A.
&lt;p&gt;&lt;b&gt;10:18&lt;/b&gt; - Первая посылка! СПбГУ 4 сдали задачу G - одну из самых простых.
&lt;p&gt;&lt;b&gt;10:10&lt;/b&gt; - 12 задач.
&lt;p&gt;&lt;b&gt;10:09&lt;/b&gt; - Начали!
&lt;p&gt;&lt;b&gt;10:04&lt;/b&gt; - Контест пока не начался, последние команды рассаживаются.
&lt;p&gt;&lt;b&gt;09:59&lt;/b&gt; - Полуфинал проходит в четырёх городах одновременно: Санкт-Петербург, Барнаул, Ташкент, Тбилиси. Участники: &lt;a href="http://neerc.ifmo.ru/regional/teams.html"&gt;http://neerc.ifmo.ru/regional/teams.html&lt;/a&gt;.
&lt;p&gt;&lt;b&gt;09:56&lt;/b&gt; - Результаты будут здесь: &lt;a href="http://neerc.ifmo.ru/information/standings.html"&gt;http://neerc.ifmo.ru/information/standings.html&lt;/a&gt;.
&lt;p&gt;&lt;b&gt;09:53&lt;/b&gt; - Конкурс прогнозов на SnarkNews: &lt;a href="http://srv.snarknews.info/~ejudge/showvote.cgi?data=neerc2012"&gt;http://srv.snarknews.info/~ejudge/showvote.cgi?data=neerc2012&lt;/a&gt;. ИТМО:СПбГУ:МГУ 24:5:0.
&lt;p&gt;&lt;b&gt;09:41&lt;/b&gt; - Команды пока ещё рассаживаются по местам.
&lt;p&gt;This post will contain the blog for &lt;a href="http://neerc.ifmo.ru/information/index.html"&gt;NEERC 2012&lt;/a&gt;&amp;nbsp;- refresh it to get new comments. The comments will be in Russian, you can try &lt;a href="http://translate.google.com/translate?sl=ru&amp;amp;tl=en&amp;amp;js=n&amp;amp;prev=_t&amp;amp;hl=ru&amp;amp;ie=UTF-8&amp;amp;layout=2&amp;amp;eotf=1&amp;amp;u=http%3A%2F%2Fpetr-mitrichev.blogspot.com%2F2012%2F12%2Fneerc-2012_2.html&amp;amp;act=url"&gt;Google Translate&lt;/a&gt; to read them.&lt;img src="http://feeds.feedburner.com/~r/PetrMitrichev/~4/XtVIeJfMW1k" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://petr-mitrichev.blogspot.com/feeds/2268470428816512017/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1953325079793449971&amp;postID=2268470428816512017" title="50 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1953325079793449971/posts/default/2268470428816512017?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1953325079793449971/posts/default/2268470428816512017?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PetrMitrichev/~3/XtVIeJfMW1k/neerc-2012_2.html" title="NEERC 2012 - Комментарии" /><author><name>Petr Mitrichev</name><uri>https://plus.google.com/108329321411299197209</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-yeuTcunFdtw/AAAAAAAAAAI/AAAAAAAAUt4/R54CIwnJtZo/s512-c/photo.jpg" /></author><thr:total>50</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://petr-mitrichev.blogspot.com/2012/12/neerc-2012_2.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0QBRX47fCp7ImA9WhNXE0o.&quot;"><id>tag:blogger.com,1999:blog-1953325079793449971.post-9120607573525763886</id><published>2012-12-01T18:15:00.001+04:00</published><updated>2012-12-01T18:15:54.004+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-12-01T18:15:54.004+04:00</app:edited><title>NEERC 2012</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-NqKiMPIPkZo/ULoQtWaDamI/AAAAAAAARsk/-O4UFfqkY_s/s1600/DSC_0489.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="212" src="http://2.bp.blogspot.com/-NqKiMPIPkZo/ULoQtWaDamI/AAAAAAAARsk/-O4UFfqkY_s/s320/DSC_0489.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
Tomorrow is the day of ACM ICPC Northeastern European Regional Contest - probably the strongest semifinal ACM ICPC contest of all, home for 7 of the last 13 world champion teams. Best teams from Russia and ex-USSR, except Ukraine, gather in St Petersburg to select those who will go to the world finals, which will happen in St Petersburg as well this time, in July 2013.&lt;br /&gt;
&lt;br /&gt;
There are many strong teams this year, but there are three teams that stand out (in my opinion): SPb NRU ITMO 1 (&lt;a href="http://www.topcoder.com/tc?module=MemberProfile&amp;amp;cr=22263204&amp;amp;tab=alg" style="color: rgb(238, 0, 0) !important; font-weight: bold !important;"&gt;tourist&lt;/a&gt;,&amp;nbsp;&lt;a href="http://www.topcoder.com/tc?module=MemberProfile&amp;amp;cr=22849347&amp;amp;tab=alg" style="color: rgb(238, 0, 0) !important; font-weight: bold !important;"&gt;mikhailOK&lt;/a&gt;,&amp;nbsp;&lt;a href="http://www.topcoder.com/tc?module=MemberProfile&amp;amp;cr=22744264&amp;amp;tab=alg" style="color: rgb(238, 0, 0) !important; font-weight: bold !important;"&gt;niyaznigmatul&lt;/a&gt;, combined TopCoder rating 8957, tourist and niyaznigmatul on the picture above, taken today at the practice session), SPb SU 4 (&lt;a href="http://www.topcoder.com/tc?module=MemberProfile&amp;amp;cr=22912471&amp;amp;tab=alg" style="color: rgb(238, 0, 0) !important; font-weight: bold !important;"&gt;Dmitry_Egorov&lt;/a&gt;,&amp;nbsp;&lt;a href="http://www.topcoder.com/tc?module=MemberProfile&amp;amp;cr=22781264&amp;amp;tab=alg" style="color: rgb(238, 0, 0) !important; font-weight: bold !important;"&gt;kuniavski&lt;/a&gt;,&amp;nbsp;&lt;a href="http://www.topcoder.com/tc?module=MemberProfile&amp;amp;cr=22708534&amp;amp;tab=alg" style="color: rgb(238, 0, 0) !important; font-weight: bold !important;"&gt;yeputons&lt;/a&gt;, combined TopCoder rating 8197) and Moscow SU 1 (&lt;a href="http://www.topcoder.com/tc?module=MemberProfile&amp;amp;cr=22737342&amp;amp;tab=alg" style="color: rgb(238, 0, 0) !important; font-weight: bold !important;"&gt;SergeiFedorov&lt;/a&gt;,&amp;nbsp;&lt;a href="http://www.topcoder.com/tc?module=MemberProfile&amp;amp;cr=22733480&amp;amp;tab=alg" style="color: rgb(238, 0, 0) !important; font-weight: bold !important;"&gt;SergeiRogulenko&lt;/a&gt;,&amp;nbsp;&lt;a href="http://www.topcoder.com/tc?module=MemberProfile&amp;amp;cr=23010700&amp;amp;tab=alg" style="color: rgb(238, 0, 0) !important; font-weight: bold !important;"&gt;w_AleX_w&lt;/a&gt;, combined TopCoder rating 7877).&lt;br /&gt;
&lt;br /&gt;
I will be doing a live blog about the contest tomorrow, here at &lt;a href="http://petr-mitrichev.blogspot.com/"&gt;http://petr-mitrichev.blogspot.com/&lt;/a&gt;. The blog will be in Russian since most people watching the contest speak Russian, and I hope the Google translation won't be too bad :) Join me at 10am Moscow time tomorrow (Sunday, December 2, 2012). Time in other timezones:&amp;nbsp;&lt;a href="http://timeanddate.com/worldclock/fixedtime.html?msg=NEERC+2012&amp;amp;iso=20121202T10&amp;amp;p1=352&amp;amp;ah=5"&gt;http://timeanddate.com/worldclock/fixedtime.html?msg=NEERC+2012&amp;amp;iso=20121202T10&amp;amp;p1=352&amp;amp;ah=5&lt;/a&gt;.&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/PetrMitrichev/~4/I0KlRp3B2M4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://petr-mitrichev.blogspot.com/feeds/9120607573525763886/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1953325079793449971&amp;postID=9120607573525763886" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1953325079793449971/posts/default/9120607573525763886?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1953325079793449971/posts/default/9120607573525763886?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PetrMitrichev/~3/I0KlRp3B2M4/neerc-2012.html" title="NEERC 2012" /><author><name>Petr Mitrichev</name><uri>https://plus.google.com/108329321411299197209</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-yeuTcunFdtw/AAAAAAAAAAI/AAAAAAAAUt4/R54CIwnJtZo/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-NqKiMPIPkZo/ULoQtWaDamI/AAAAAAAARsk/-O4UFfqkY_s/s72-c/DSC_0489.JPG" height="72" width="72" /><thr:total>4</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://petr-mitrichev.blogspot.com/2012/12/neerc-2012.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEICQ3w5eSp7ImA9WhNQFU0.&quot;"><id>tag:blogger.com,1999:blog-1953325079793449971.post-8761762068542468004</id><published>2012-11-21T16:49:00.001+04:00</published><updated>2012-11-21T16:56:02.221+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-11-21T16:56:02.221+04:00</app:edited><title>SRM 561 Screencast</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Here's the recording of myself solving &lt;a href="http://community.topcoder.com/stat?c=round_overview&amp;amp;er=5&amp;amp;rd=15183"&gt;TopCoder SRM 561&lt;/a&gt;.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;iframe allowfullscreen="allowfullscreen" frameborder="0" height="480" src="http://www.youtube.com/embed/V_UZJvRLhtk?vq=hd720" width="853"&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/PetrMitrichev/~4/XaoR0c87No8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://petr-mitrichev.blogspot.com/feeds/8761762068542468004/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1953325079793449971&amp;postID=8761762068542468004" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1953325079793449971/posts/default/8761762068542468004?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1953325079793449971/posts/default/8761762068542468004?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PetrMitrichev/~3/XaoR0c87No8/srm-561-screencast.html" title="SRM 561 Screencast" /><author><name>Petr Mitrichev</name><uri>https://plus.google.com/108329321411299197209</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-yeuTcunFdtw/AAAAAAAAAAI/AAAAAAAAUt4/R54CIwnJtZo/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://img.youtube.com/vi/V_UZJvRLhtk/default.jpg" height="72" width="72" /><thr:total>3</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://petr-mitrichev.blogspot.com/2012/11/srm-561-screencast.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk4HQH85cSp7ImA9WhNQEUU.&quot;"><id>tag:blogger.com,1999:blog-1953325079793449971.post-5097632049409828403</id><published>2012-11-18T00:42:00.000+04:00</published><updated>2012-11-18T00:42:11.129+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-11-18T00:42:11.129+04:00</app:edited><title>Joy of solving easy problems</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;div style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;
&lt;img border="0" height="150" src="http://1.bp.blogspot.com/-bM_NCr9o39w/UKf2M7dGLOI/AAAAAAAARSE/ImRUCx_yaZI/s200/525200_blue_balloon.jpg" width="200" /&gt;&lt;/div&gt;
Here's a problem from a recent Open Cup contest:&lt;br /&gt;
&lt;br /&gt;
The &lt;i&gt;similarity&lt;/i&gt; of two strings is defined as the length of their longest common subsequence. That, in turn, is defined as the longest string that can be obtained from both strings by dropping some characers. For example, the similarity of strings CATGT and GACTT is 3, as they have common subsequences of length 3, ATT and CTT, but no common subsequence of length 4.&lt;br /&gt;
&lt;br /&gt;
You are given a string consisting of letters A, C, G, T (by far the most popular background for string problems these days :)). You need to find another string consisting of those four letters, and of the same length as the given string, that is &lt;i&gt;least similar&lt;/i&gt; to the given string. Of course, there might be many such strings - for example, for CATGT discussed above there any many strings of the same length with similarity 1, like GAACC or TAAAC.&lt;br /&gt;
&lt;br /&gt;
Can you solve it quickly?&lt;br /&gt;
&lt;br /&gt;
This problem is not difficult, but I've enjoyed receiving "Accepted" from the judging system for this problem a lot. Most contests need easy problems, and it is so much better when those problems are not "easy because you just have to implement what's described in the problem statement", but "easy because you can just figure it out quickly".&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/PetrMitrichev/~4/RMTIYSX5kzE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://petr-mitrichev.blogspot.com/feeds/5097632049409828403/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1953325079793449971&amp;postID=5097632049409828403" title="14 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1953325079793449971/posts/default/5097632049409828403?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1953325079793449971/posts/default/5097632049409828403?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PetrMitrichev/~3/RMTIYSX5kzE/joy-of-solving-easy-problems.html" title="Joy of solving easy problems" /><author><name>Petr Mitrichev</name><uri>https://plus.google.com/108329321411299197209</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-yeuTcunFdtw/AAAAAAAAAAI/AAAAAAAAUt4/R54CIwnJtZo/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-bM_NCr9o39w/UKf2M7dGLOI/AAAAAAAARSE/ImRUCx_yaZI/s72-c/525200_blue_balloon.jpg" height="72" width="72" /><thr:total>14</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://petr-mitrichev.blogspot.com/2012/11/joy-of-solving-easy-problems.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEMMSX0yeip7ImA9WhNRFUs.&quot;"><id>tag:blogger.com,1999:blog-1953325079793449971.post-8263711350119417302</id><published>2012-11-10T20:34:00.000+04:00</published><updated>2012-11-10T20:54:48.392+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-11-10T20:54:48.392+04:00</app:edited><title>Results of "kill backtracking" contest</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-d9dnfLe9vAY/UJ6Bp6Zvb0I/AAAAAAAARDM/kNIBWodKF5A/s1600/1046489_explosion.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-d9dnfLe9vAY/UJ6Bp6Zvb0I/AAAAAAAARDM/kNIBWodKF5A/s1600/1046489_explosion.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
More than two years ago, I've launched &lt;a href="http://petr-mitrichev.blogspot.ru/2010/06/can-you-kill-backtracking.html"&gt;a contest&lt;/a&gt; to crease the best (worst) testcase for a backtracking solution for a minesweeper-like problem. Rules are at&amp;nbsp;&lt;a href="http://killbacktrack.appspot.com/rules.jsp"&gt;http://killbacktrack.appspot.com/rules.jsp&lt;/a&gt;, and the contest site is at&amp;nbsp;&lt;a href="http://killbacktrack.appspot.com/"&gt;http://killbacktrack.appspot.com/&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
The best testcase was actually found quickly - on the same day I've posted the contest to my blog, June 11, 2010. Here it is:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;...2...&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;.2.....&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;.......&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;.......&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;.......&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;.....8.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;.......&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: inherit;"&gt;The trick is: we set up a pattern that has many possible solutions in the upper-left corner - but, all of those solutions but one require more than two stars. And we only have two stars available here because we have an 8 in the bottom-right corner, and just 10 stars in total - but the algorithm doesn't know and thus it tries different possible allocations of stars around 2s, then tries all possibilities for places where we don't have any adjacent digit - meaning we're free to put or not put a star there, only to find out in the end that there's not enough stars left.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="font-family: inherit;"&gt;This testcase requires 730272354 recursive calls. It was found by &lt;b&gt;Dimon.Sobolev&lt;/b&gt;,&amp;nbsp;&lt;/span&gt;&lt;b&gt;felix.halim&lt;/b&gt;,&amp;nbsp;&lt;b style="font-family: inherit;"&gt;Max.Khodak&lt;/b&gt;&lt;span style="font-family: inherit;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;b style="font-family: inherit;"&gt;shd&lt;/b&gt;,&amp;nbsp;&lt;b style="font-family: inherit;"&gt;endagorion&lt;/b&gt;&lt;span style="font-family: inherit;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;b style="font-family: inherit;"&gt;merettm&lt;/b&gt; and&lt;span style="font-family: inherit;"&gt;&amp;nbsp;&lt;/span&gt;&lt;b style="font-family: inherit;"&gt;mbuzdalov&lt;/b&gt;, in that order&lt;span style="font-family: inherit;"&gt;&amp;nbsp;- congratulations!&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="font-family: inherit;"&gt;The next best testcase found requires 629909575 calls:&lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: #e9e9e9; font-family: Arial, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="background-color: #e9e9e9;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style="text-align: left;"&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;..2....&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;.2.....&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;.......&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;.......&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;.......&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;.....8.&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;span style="font-family: Courier New, Courier, monospace;"&gt;.......&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: inherit;"&gt;The idea is the same but we have slightly less possibilities in the upper-left corner. Before the contest, I've had a testcase with a similar idea but not as polished as these two, requiring several hundred million calls.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="font-family: inherit;"&gt;I know it's been a long time, but if any of the participants remembers anything about the contest, I'd like to hear your impressions :)&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="font-family: inherit;"&gt;Here is the breakdown of the contest website visits by country:&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-UGjMtWOe8Xo/UJ6Gt5dbdNI/AAAAAAAARDg/OT1kixjJOsk/s1600/Screen+Shot+2012-11-10+at+8.53.46+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-UGjMtWOe8Xo/UJ6Gt5dbdNI/AAAAAAAARDg/OT1kixjJOsk/s1600/Screen+Shot+2012-11-10+at+8.53.46+PM.png" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/PetrMitrichev/~4/pxNG30aHJVQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://petr-mitrichev.blogspot.com/feeds/8263711350119417302/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1953325079793449971&amp;postID=8263711350119417302" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1953325079793449971/posts/default/8263711350119417302?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1953325079793449971/posts/default/8263711350119417302?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PetrMitrichev/~3/pxNG30aHJVQ/results-of-kill-backtracking-contest.html" title="Results of &quot;kill backtracking&quot; contest" /><author><name>Petr Mitrichev</name><uri>https://plus.google.com/108329321411299197209</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-yeuTcunFdtw/AAAAAAAAAAI/AAAAAAAAUt4/R54CIwnJtZo/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-d9dnfLe9vAY/UJ6Bp6Zvb0I/AAAAAAAARDM/kNIBWodKF5A/s72-c/1046489_explosion.jpg" height="72" width="72" /><thr:total>5</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://petr-mitrichev.blogspot.com/2012/11/results-of-kill-backtracking-contest.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0MCQnc9fCp7ImA9WhNSE0g.&quot;"><id>tag:blogger.com,1999:blog-1953325079793449971.post-3106679018834889554</id><published>2012-10-27T20:31:00.000+04:00</published><updated>2012-10-27T20:31:03.964+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-10-27T20:31:03.964+04:00</app:edited><title>Petr Mitrichev Contest 10 solution ideas</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Petr Mitrichev Contest 10 is over, congratulations to WJMZBMR, to an unnamed team from China, to tmt514, to UPC-1 team and to scottai1 for solving 4 problems, to flashmt for being the only one to solve problem D, and to hirosegolf for being the only one to solve problem F!&lt;br /&gt;
&lt;br /&gt;
You can still solve the problems for practice at&amp;nbsp;&lt;a href="http://codeforces.com/gym/100110"&gt;http://codeforces.com/gym/100110&lt;/a&gt;, and you can even start a virtual contest when you'll see that standings of other teams as they appeared at the particular time into the contest.&lt;br /&gt;
&lt;br /&gt;
When making this contest, I've tried to add a flavor of exploration (as opposed to just using standard algorithms), since that actually resembles my work quite a bit. Please tell whether you liked that or not!&lt;br /&gt;
&lt;br /&gt;
In particular, I like problem C the most, and I'm pretty sure it can be solved for 8x8, 10x10 or even 20x20 fields - but I don't know how. We can probably set up a challenge to solve it for 10x10. My feeling is that some statistical methods should be the most powerful here.&lt;br /&gt;
&lt;br /&gt;
Here are the solution ideas. Those are not complete solutions, but I hope they can guide you in the right direction. Problem statements can be found at&amp;nbsp;&lt;a href="http://goo.gl/uIW7S"&gt;http://goo.gl/uIW7S&lt;/a&gt;. You can also find a video of myself doing analysis of this contest (without problem G) in Russian at &lt;a href="http://youtu.be/FN6FRXiQ7JE"&gt;http://youtu.be/FN6FRXiQ7JE&lt;/a&gt;.&amp;nbsp;Please don't read below if you still want to try solving those problems yourself :)&lt;br /&gt;
&lt;br /&gt;
Problem A. Asymmetric Art.&lt;br /&gt;
This problem can be solved with backtracking. The straightforward backtracking tries all possible subsets, but that's obviously too slow. We can do several optimizations: first, let's consider the numbers in increasing order, and when taking each number we can 'mark' all numbers that we can't take anymore because of this new number. This is not fast enough, but we can additionally truncate our search by saying 'if we've reached number x, then we'll take not more than answer[n-x] more numbers', where answer[y] is the number of items in the largest quasi-symmetric-triple-free subset for n=y. Then we can find all answer[] values in under one minute, and then send a program that has all answers hardcoded for judging.&lt;br /&gt;
&lt;br /&gt;
Problem B. Lots of Combinations.&lt;br /&gt;
We need to do two things: find (n,k) modulo 10**10, and check if (n,k) is greater than or equal to 10**10. The second part is relatively easy - if k &amp;lt;= n-k, then we can incrementally compute (n,1), (n,2) and stop as soon as we exceed 10**10. For the first part, we notice that it's enough to compute the answer modulo 2**10 and modulo 5**10, and then use the &lt;a href="http://google.com/search?q=chinese+remainder+theorem"&gt;Chinese remainder theorem&lt;/a&gt;. Computing the answer modulo 5**10 is done by first calculating the power of 5 in (n,k) separately, and then calculating (n,k) with all powers of 5 removed from all numbers using the fact that we can now use division and thus just need to calculate factorials (skipping numbers divisible by 5) modulo 5**10, and numbers modulo 5**10 is a periodic sequence.&lt;br /&gt;
&lt;br /&gt;
Problem C. Curiosity.&lt;br /&gt;
I'm pretty sure there are lots of different approaches that work in this problem. The two main directions I'm aware of is finding large blocks of data without unknowns and combining them together, or using various dynamic programming approaches that consider all possibilities. My solution is of the second kind: assume we've chosen the 6x6 field. We can then use dynamic programming to find the minimum possible number of contradictions in the input data (places where we know the color of some cell but it's different from the actual cell we're on). Now I use&amp;nbsp;&lt;a href="http://google.com/search?q=simulated+annealing"&gt;simulated annealing&lt;/a&gt;&amp;nbsp;to find the 6x6 field that has zero contradictions. Of course, since all input files are given to you, you can do this without any time or memory limits and then just submit the discovered answers.&lt;br /&gt;
&lt;br /&gt;
Problem D. Domination.&lt;br /&gt;
Since one of the dimensions is small (up to 10), we can do dynamic programming using a cut in that dimension as our state. More specifically, suppose we have filled first k columns and first p cells in the (k+1)-th column. Then we're only interested what happens on the first p cells in the (k+1)-th column and the last (n-p) cells in the k-th column. Each cell can be in four states (has '1', has '2', has '0' and doesn't have an adjacent '2', has '0' and already has an adjacent '2' (let's call this state '3')), yielding 4**10=2**20 states, but it turns out we don't need all of them - some pairs of adjacent cell states are not useful: '21' and '11' can always be replaced by '23', and '20' is plain impossible. That brings the number of states down significantly, but the program is probably still too slow. The final touch is to notice that things become periodic if we fix n and increase m.&lt;br /&gt;
&lt;br /&gt;
Problem E. Easy Learning.&lt;br /&gt;
This one probably has even more different solutions than C. There is a lot of theory for this kind of problem that I don't want to recite here, my solution was using &lt;a href="http://www.google.com/search?q=gradient+boosting"&gt;gradient boosting&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Problem F. Hash.&lt;br /&gt;
There are two main approaches here. One is called &lt;a href="http://www.google.com/search?q=pollard's+rho+algorithm"&gt;Pollard's rho algorithm&lt;/a&gt;, and does not depend on the hash function much, the other actually uses the specific hash function we use. Consider values x_i = hash('1000 zeroes but i-th character is 1') - hash('1000 zeroes'). Then we need to find two disjoint subsets of x_i with the same sum. Let's do the following trick: sort all x_i, and take y_1=x_2-x_1, y_2=x_4-x_3, y_3=x_6-x_5, and so on. It's not hard to see that now we have 500 numbers (2 times less), but the numbers themselves are about 1000 times less on average, and we still need to find two disjoint subsets with equal sums. Repeating this several times gets us numbers that are so small that two of them are bound to be equal. This problem has some very tricky cases when b=2 - you should watch out for those!&lt;br /&gt;
&lt;br /&gt;
Problem G. RLE Size.&lt;br /&gt;
Here, you just need to carefully consider all cases. Each block of consecutive '?' signs can be solved on paper, based on what's to the left of it and what's to the right, and then you can just implement the formulas you've discovered on paper in your program.&lt;br /&gt;
&lt;br /&gt;
Problem H. Good Students and Bad Students.&lt;br /&gt;
This problem can be solved greedily. Let's go from the highest numbers to the lowest numbers, and gradually fill all groups. Whenever we encounter a student that wants to be in the upper half, we place it in the first upper half that still has empty slots, if any. Whenever we encounter a student that wants to be in the lower half, we place it in the first lower half that has the corresponding upper half completely filled, if any, and in the first free upper half slot otherwise. The proof is a bit tricky but doable.&lt;br /&gt;
&lt;br /&gt;
Problem I. Tennis Scores.&lt;br /&gt;
This was the classical 'long statement, straightforward but long code' problem. You just had to carefully calculate the probabilities of game outcomes for each player's serve, then use those to calculate the probabilities of set outcomes, and then use those to calculate the probabilities of match outcomes. It's important to notice that set outcomes depend on who's serving first in the set.&lt;br /&gt;
&lt;br /&gt;
Problem J. Three Squares.&lt;br /&gt;
This problem was supposed to be solved numerically. One step that you need to make to avoid falling into a trap is to realize that we're not always rotating all three squares by the same angle, however improbable that might look. Here's an example:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-ecnLbO2AHic/UIwI4kAd26I/AAAAAAAAP7c/-KjBTh43xbw/s1600/3s.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-ecnLbO2AHic/UIwI4kAd26I/AAAAAAAAP7c/-KjBTh43xbw/s1600/3s.png" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Then you could either just iterate over possible rotation angles with a reasonable step and check whether there's intersection (since all coordinates are integers, there's no possibility to create a particularly nasty case for that solution), or, if you want a more robust solution, you can do a search in the 3-D space of angles that repeatedly splits the search space in two, but then throw away certain branches when we can see that for all possible triples in that branch there's still an intersection.&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/PetrMitrichev/~4/9_udnpuC8Ys" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://petr-mitrichev.blogspot.com/feeds/3106679018834889554/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1953325079793449971&amp;postID=3106679018834889554" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1953325079793449971/posts/default/3106679018834889554?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1953325079793449971/posts/default/3106679018834889554?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PetrMitrichev/~3/9_udnpuC8Ys/petr-mitrichev-contest-10-solution-ideas.html" title="Petr Mitrichev Contest 10 solution ideas" /><author><name>Petr Mitrichev</name><uri>https://plus.google.com/108329321411299197209</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-yeuTcunFdtw/AAAAAAAAAAI/AAAAAAAAUt4/R54CIwnJtZo/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-ecnLbO2AHic/UIwI4kAd26I/AAAAAAAAP7c/-KjBTh43xbw/s72-c/3s.png" height="72" width="72" /><thr:total>1</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://petr-mitrichev.blogspot.com/2012/10/petr-mitrichev-contest-10-solution-ideas.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkYMQ3s4fip7ImA9WhNSEk0.&quot;"><id>tag:blogger.com,1999:blog-1953325079793449971.post-4934001773754623800</id><published>2012-10-25T12:31:00.001+04:00</published><updated>2012-10-26T01:23:02.536+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-10-26T01:23:02.536+04:00</app:edited><title>Petr Mitrichev Contest 10 - this Saturday!</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
I will be hosting Petr Mitrichev Contest 10 this Saturday (the day after tomorrow) between 15:30 and 20:30 Moscow time (other timezones:&amp;nbsp;&lt;a href="http://timeanddate.com/worldclock/fixedtime.html?msg=Petr+Mitrichev+Contest+10&amp;amp;iso=20121027T1530&amp;amp;p1=166&amp;amp;ah=5"&gt;http://timeanddate.com/worldclock/fixedtime.html?msg=Petr+Mitrichev+Contest+10&amp;amp;iso=20121027T1530&amp;amp;p1=166&amp;amp;ah=5&lt;/a&gt;).&lt;br /&gt;
&lt;br /&gt;
The contest will be held at&amp;nbsp;&lt;a href="http://codeforces.com/gyms"&gt;http://codeforces.com/gyms&lt;/a&gt;. In order to take part, you need to have an account on codeforces.com. Both teams and individual participants can join. The contest itself will be at&amp;nbsp;&lt;a href="http://codeforces.com/gym/100110"&gt;http://codeforces.com/gym/100110&lt;/a&gt;, but this link will be accessible only after the start of the contest.&lt;br /&gt;
&lt;br /&gt;
There will be 10 problems of varying difficulty (most are quite difficult) for 5 hours. Your solution needs to be correct on all test cases to be accepted (the standard ACM ICPC rules). People will be ranked by the number of solved problems, and by total penalty time in case they're tied on solved problems, so don't be late! :) Note that in each problem you need to read the input from a file and write the output to another file - so don't read from stdin and don't write to stdout!&lt;br /&gt;
&lt;br /&gt;
Feel free to ask any questions that you might have, and also please tell if there are any issues with the contest system - it's the first time I'm using codeforces.com/gyms.&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/PetrMitrichev/~4/VlpZXXaMWxs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://petr-mitrichev.blogspot.com/feeds/4934001773754623800/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1953325079793449971&amp;postID=4934001773754623800" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1953325079793449971/posts/default/4934001773754623800?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1953325079793449971/posts/default/4934001773754623800?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PetrMitrichev/~3/VlpZXXaMWxs/petr-mitrichev-contest-10-this-saturday.html" title="Petr Mitrichev Contest 10 - this Saturday!" /><author><name>Petr Mitrichev</name><uri>https://plus.google.com/108329321411299197209</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-yeuTcunFdtw/AAAAAAAAAAI/AAAAAAAAUt4/R54CIwnJtZo/s512-c/photo.jpg" /></author><thr:total>1</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://petr-mitrichev.blogspot.com/2012/10/petr-mitrichev-contest-10-this-saturday.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkUBRno_fip7ImA9WhNTGEU.&quot;"><id>tag:blogger.com,1999:blog-1953325079793449971.post-6499287321085205380</id><published>2012-10-22T10:44:00.000+04:00</published><updated>2012-10-22T10:44:17.446+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-10-22T10:44:17.446+04:00</app:edited><title>Time and venue for Petr Mitrichev Contest 10</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
There will be an online contest called Petr Mitrichev Contest 10. Problems are all mine, previously used in Petrozavodsk trainings for top Russian teams this September but not published elsewhere. The problems are not easy, but they are of different types and thus I hope everyone will find something interesting to solve. Both teams and individual participants can join.&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
I'm trying to choose the best time and place for the contest. My current proposition is: 15:30 to 20:30 Moscow time this Saturday, October 27 (in other timezones:&amp;nbsp;&lt;a href="http://timeanddate.com/worldclock/fixedtime.html?msg=Petr+Mitrichev+Contest+10&amp;amp;iso=20121027T1530&amp;amp;p1=166&amp;amp;ah=5"&gt;http://timeanddate.com/worldclock/fixedtime.html?msg=Petr+Mitrichev+Contest+10&amp;amp;iso=20121027T1530&amp;amp;p1=166&amp;amp;ah=5&lt;/a&gt;). Looking at the contest list at&amp;nbsp;&lt;a href="http://clist.by/"&gt;http://clist.by/&lt;/a&gt;&amp;nbsp;and the new Yandex contest site not mentioned there (&lt;a href="http://contest.yandex.ru/contest/ContestList.html"&gt;http://contest.yandex.ru/contest/ContestList.html&lt;/a&gt;), all weekends are very busy, but it looks like IFMO trainings are not attended by many teams this fall and thus overlapping with it is OK.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
I understand that the contest ending time in my proposition is 1:30AM in Japan and Korea and 0:30AM in China. People from Japan, Korea and China (and from Asia in general): is that too late? I'd host it earlier but there's a contest on acm.timus.ru that ends at 15:00 Moscow time that was very popular last year (&lt;a href="http://acm.timus.ru/monitor.aspx?id=100"&gt;http://acm.timus.ru/monitor.aspx?id=100&lt;/a&gt;), so I fear many contestants from Asia will take part there.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
For the venue, I propose&amp;nbsp;&lt;a href="http://codeforces.com/gyms"&gt;http://codeforces.com/gyms&lt;/a&gt;.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Please share your suggestions.&lt;/div&gt;
&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/PetrMitrichev/~4/bMWB6uuaKDg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://petr-mitrichev.blogspot.com/feeds/6499287321085205380/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1953325079793449971&amp;postID=6499287321085205380" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1953325079793449971/posts/default/6499287321085205380?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1953325079793449971/posts/default/6499287321085205380?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PetrMitrichev/~3/bMWB6uuaKDg/time-and-venue-for-petr-mitrichev.html" title="Time and venue for Petr Mitrichev Contest 10" /><author><name>Petr Mitrichev</name><uri>https://plus.google.com/108329321411299197209</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-yeuTcunFdtw/AAAAAAAAAAI/AAAAAAAAUt4/R54CIwnJtZo/s512-c/photo.jpg" /></author><thr:total>2</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://petr-mitrichev.blogspot.com/2012/10/time-and-venue-for-petr-mitrichev.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0cAQns_fSp7ImA9WhJaEkQ.&quot;"><id>tag:blogger.com,1999:blog-1953325079793449971.post-7710887454142098765</id><published>2012-10-03T20:35:00.001+04:00</published><updated>2012-10-04T00:10:43.545+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-10-04T00:10:43.545+04:00</app:edited><title>TopCoder Open 2012 Finals Commentary</title><content type="html">&lt;p&gt;&lt;b&gt;16:09&lt;/b&gt; - That's it about this TCO. See you next year! Feel free to ask me questions in comments, I'll do my best to answer.
&lt;p&gt;&lt;b&gt;15:57&lt;/b&gt; - Marathon results! ainu7 is the champion, Psyho is second!
&lt;p&gt;&lt;b&gt;15:54&lt;/b&gt; - Algorithm results! Both 500s and ACRush’s 250 fail. Egor, meret, RAVEman are the only non-zero scorers, in that order. Egor is the champion!
&lt;p&gt;&lt;b&gt;15:48&lt;/b&gt; - They’ve announced design results (which were alredy known in advance), now development.
&lt;p&gt;&lt;b&gt;15:31&lt;/b&gt; - I've taken a look at RAVEman's and andrew's 500s, and they both only consider moves by small_constant*first_vector+other_small_constant*second_vector. I fear that doesn't work for the following reason: when the vectors are very long, close in length to the size of the board, there can be two cells that can only be reached from one another via a linear combination with larger coefficients. So I'd bet on both 500s failing.
&lt;p&gt;&lt;b&gt;15:29&lt;/b&gt; - They are starting announcements, but they usually do other tracks first and algorithm last.
&lt;p&gt;&lt;b&gt;15:21&lt;/b&gt; - Waiting for systest. Currently RAVEman with just 500 first, andrewzta with just 500 second, Egor, meret and ACRush with just 250s from third to fifth. Let's hope at least the champion has one working problem :)
&lt;p&gt;&lt;b&gt;15:18&lt;/b&gt; - ACRush one more -25 on RAVEman's 500, kills RAVEman's 250, -25 on meret's 250. Meret has got -25 on both standing 500s.
&lt;p&gt;&lt;b&gt;15:18&lt;/b&gt; - Egor has got -25 in the meantime as well. Still above meret.
&lt;p&gt;&lt;b&gt;15:17&lt;/b&gt; - And gets -25. Meret is also preparing the testcase for RAVEman’s 500.
&lt;p&gt;&lt;b&gt;15:15&lt;/b&gt; - ACRush is preparing a testcase for RAVEman’s 500.
&lt;p&gt;&lt;b&gt;15:13&lt;/b&gt; - assuming both remaining 500s will also fail, it's Egor vs meret challenge battle. Both have made their moves, still less than 50 separates them. ACRush gets -25 on Egor's 250.
&lt;p&gt;&lt;b&gt;15:10&lt;/b&gt; - meret bring’s down marek’s 250, RAVEman brings down iwi’s 500, Egor brings down Andrew’s 250.
&lt;p&gt;&lt;b&gt;15:08&lt;/b&gt; - admins are giving out a prize for another contest during intermission, using loudspeakers. What an AWFUL decision!
&lt;p&gt;&lt;b&gt;15:07&lt;/b&gt; - RAVEman preparing a large and presumably tricky case for 500.
&lt;p&gt;&lt;b&gt;15:05&lt;/b&gt; - iwi submits 500 but I'm not sure he has at least tested for TLE.
&lt;p&gt;&lt;b&gt;15:03&lt;/b&gt; - marek.cygan doing nothing, meret writing his 1000, his solution has “layers” in it - we had an idea that involved layers, too, so that can be a correct solution.
&lt;p&gt;&lt;b&gt;15:02&lt;/b&gt; - most people fight with not-passing-examples in 500.
&lt;p&gt;&lt;b&gt;15:00&lt;/b&gt; - apparently RAVEman's 250 is wrong, and he's fixing it... And he resubmits!
&lt;p&gt;&lt;b&gt;14:59&lt;/b&gt; - five minutes before the end. Marek has submitted and resubmitted his 250. I’m betting on many last-second submissions.
&lt;p&gt;&lt;b&gt;14:52&lt;/b&gt; - actually nika’s hypothesis seems to be true and it’s even not hard to construct that ordering: let’s try all possibilities for the first vertex. Then, at every step the next vertex can be constructed by doing the following: if a vertex has more edges to the already constructed vertices then it’s closer to the last marked vertex. Also, if a vertex has less edges to the vertices yet to be constructed, then it’s also closer to the last marked vertex. And the only way both those numbers can be the same for two vertices is when they’re isomorphic. So we just reconstruct the ordering greedily.
&lt;p&gt;&lt;b&gt;14:45&lt;/b&gt; - meanwhile, andrewzta and RAVEman have submitted the 500. I have a bad feeling about andrewzta's one, though, as he has probably patched his solution quickly to pass the sample case but he couldn't rewrite a large part of his solution since I've seen it.
&lt;p&gt;&lt;b&gt;14:44&lt;/b&gt; - if that's true, then the solution is to handle groups of isomorphic vertices at once, and then the number of states will be really small - just linear.
&lt;p&gt;&lt;b&gt;14:42&lt;/b&gt; - nika has the following conjecture for 1000: omitting isomorphic vertices, the ordering of vertices is uniquely determined up to a complete reversal.
&lt;p&gt;&lt;b&gt;14:41&lt;/b&gt; - andrewzta's medium seems far from completion - he iterates over pairs of vectors but his check if the given pair of vectors gives a symmetry is too simple.
&lt;p&gt;&lt;b&gt;14:38&lt;/b&gt; - shangjingbo’s 1000 is not working only on the last example case, which is huge. Poor guy :(
&lt;p&gt;&lt;b&gt;14:34&lt;/b&gt; - RAVEman optimizing his 500, it’s working in 0.9s on what seems to be close to worst case. Will he submit soon?
&lt;p&gt;&lt;b&gt;14:29&lt;/b&gt; - ACRush coding 500, meret coding 1000.
&lt;p&gt;&lt;b&gt;14:27&lt;/b&gt; - Rustyoldman reports that iwi and andrewzta are coding their 500s.
&lt;p&gt;&lt;b&gt;14:18&lt;/b&gt; - Meanwhile, ACRush resubmits 250. Current standings: Egor (with resubmit), RAVEman and meret (no resubmit), andrewzta and ACRush (with resubmit). ACRush has also opened the 500. RAVEman is coding on 500 and shangjingbo is coding on 1000.
&lt;p&gt;&lt;b&gt;14:15&lt;/b&gt; - About 1000: maybe something like this can work - let’s start putting numbers from 1 to N. After we’ve put numbers from 1 to K, all that matters is which vertices are assigned the last D numbers, and which vertices have an assigned number at all. And because of the restrictions, I’d hope that the number of states will be quite small. But I’m not sure how to estimate that.
&lt;p&gt;&lt;b&gt;14:08&lt;/b&gt; - Rustyoldman reports that nobody is still coding on 500 or 1000. meret submits 250.
&lt;p&gt;&lt;b&gt;14:06&lt;/b&gt; - By the way, bmerry was test-solving 250 and 1000 in this round, and it took him 12 and 44 minutes respectively.
&lt;p&gt;&lt;b&gt;14:05&lt;/b&gt; - RAVEman submits 250 as well. I’m trying to think about 1000...
&lt;p&gt;&lt;b&gt;14:02&lt;/b&gt; - andrewzta submits 250, iwi gave up on 1000 and opened 500. ACRush went to 1000 after 250. Marek.cygan gave up on 500 and went to 1000. It’s 25 minutes into the contest and it’s weird we have just 3 submissions on the 250.
&lt;p&gt;&lt;b&gt;13:58&lt;/b&gt; - about 250: First, we can forget about E by XORin S and E, and just making player A’s goal to achieve all zeroes. How can player A win? The only way is that the entire string has just one segment of consecutive ones. But how could B allow to make that happen? If the string has length of at least 5, it looks like B can always prevent that on his move, so when length is at least 5 we should just check if A can win in one turn, and when length is at most 4, the number of states is just 16 and we can analyze the entire game using the usual means.
&lt;p&gt;&lt;b&gt;13:55&lt;/b&gt; - meanwhile, Egor submits and resubmits the easy, adding one more small “if” clause, ACRush submits the easy a bit later but has higher score because of Egor’s resubmit. Everybody who’s opened 500 and 1000 is working on paper.
&lt;p&gt;&lt;b&gt;13:51&lt;/b&gt; - I’ve test-solved 500 before this contest. The basic idea is - any good tiling is defined by two “basic” shift vectors. In fact, if we fix the two basic shift vectors, then all vertices are split into groups of equal vertices, and we just need to check that all vertices in each group have the same color (it won’t be a problem to form a connected piece afterwards). Now all that remains is to iterate over all possible pairs of shift vectors and carefully check everything. This can be simplified further by noticing that we can always choose one of the basic vectors to be horizontal (but it might be up to size^2 in length then).
&lt;p&gt;&lt;b&gt;13:50&lt;/b&gt; - formal problem statements: &lt;a href="http://apps.topcoder.com/forums/?module=Thread&amp;amp;threadID=763920&amp;amp;start=0&amp;amp;mc=2"&gt;http://apps.topcoder.com/forums/?module=Thread&amp;amp;threadID=763920&amp;amp;start=0&amp;amp;mc=2&lt;/a&gt;.
&lt;p&gt;&lt;b&gt;13:47&lt;/b&gt; - 500: A good tiling of the plane that is split into grid cells that are colored black or white is such tiling where each piece is a connected block of cells, all pieces are equal (will coincide after some transition), including colors, and the tiling itself is periodic (for each three tiles X, Y, Z there’s a tile at Z+(Y-X)). What is the smallest possible size of piece of a good tiling which has a given rectangle as its part?
&lt;p&gt;&lt;b&gt;13:45&lt;/b&gt; - 1000: you are given a connected undirected graph with M vertices, and must assign distinct numbers from 1 to N (N &amp;gt;= M) to its vertices so that adjacent vertices have numbers differing by at most D, and non-adjacent vertices have numbers differing by at least D+1. How many ways are there to do that? N is up to 100, M is up to 50, D is up to 8.
&lt;p&gt;&lt;b&gt;13:43&lt;/b&gt; - marek goes for 500, iwi and shangjingbo go for 1000, everybody else for 250.
&lt;p&gt;&lt;b&gt;13:41&lt;/b&gt; - 250: you are given two strings S and E of the same length, consisting of ‘0’ and ‘1’ characters. Player A can (but is not forced to) choose its substring and change all ‘0’s to ‘1’s and vice versa. Player B can (but is not forced to) do the same for just one character. Player A’s goal is to obtain string E, and player B’s goal is to prevent him from doinh so. What is the minimum number of turns he needs (assuming both play optimally)?
&lt;p&gt;&lt;b&gt;13:37&lt;/b&gt; - everything looks fine this time. Two minutes before start!
&lt;p&gt;&lt;b&gt;13:35&lt;/b&gt; - based on this, spectators propose a new strategy: if meret and ACRush submit a problem very quickly, code maximum flow _before_ opening it :)
&lt;p&gt;&lt;b&gt;13:34&lt;/b&gt; - ACRush has apparently been coding most of this time, implementing Dinic algorithm for maximum flow.
&lt;p&gt;&lt;b&gt;13:28&lt;/b&gt; - not much happening now, people are relaxing, admins say everything will be fine this time :)
&lt;p&gt;&lt;b&gt;13:17&lt;/b&gt; - Egor and andrewzta playing air hocket. Meret, [[iwi]] walking around the room. marek.cygan talking with friends. ACRush looked at something on a laptop and went walking with a surprised face. RAVEman talking with friends as well. Can’t find shangjingbo in the arena.
&lt;p&gt;&lt;b&gt;13:14&lt;/b&gt; - the problems turned out to be more serious than expected. The new start time is 13:40. Hysterical laughing from contestants :)
&lt;p&gt;&lt;b&gt;13:12&lt;/b&gt; - it looks like the contest won’t start at 13:15, too. The technical issues still unresolved. This must be a very nervous time for all contestants.
&lt;p&gt;&lt;b&gt;13:05&lt;/b&gt; - admin announcement: The match will start at 13:15.
&lt;p&gt;&lt;b&gt;13:02&lt;/b&gt; - Egor and andrewzta are playing "Cities": each player should name a city that has not been named before that starts with the last letter of the previous named city. So far: Moscow, Warsaw, Wrozlav, Voronezh, Hurghada, Athens, Sarajevo, Osaka, Astana, Amsterdam, Malmo, Orel, Ljubljana, Astrakhan, Novosibirsk.
&lt;p&gt;&lt;b&gt;13:00&lt;/b&gt; - marek.cygan: "The winner will be the one who can find the problemset".
&lt;p&gt;&lt;b&gt;13:00&lt;/b&gt; - 250, 500, 1000. No news on contest start time.
&lt;p&gt;&lt;b&gt;12:59&lt;/b&gt; - it looks like the contest start is postponed, there’re some technical issues.
&lt;p&gt;&lt;b&gt;12:49&lt;/b&gt; - 10 minutes before the start. Andrewzta showed up, now almost everybody is coding the easy problem from the wildcard round for practice, except meret who’s writing max flow again.
&lt;p&gt;&lt;b&gt;12:44&lt;/b&gt; - Everybody is preparing except Egor and andrewzta - the two Java coders. One doesn’t need much preparation when there’s no necessary bolierplate :) Egor is already ready, andrewzta not yet here.
&lt;p&gt;&lt;b&gt;12:35&lt;/b&gt; - Hi! This is live commentary for TopCoder Open 2012 Algorithm Finals. The round will start in about 25 minutes. I will update this post with new comments.

&lt;img src="http://feeds.feedburner.com/~r/PetrMitrichev/~4/oJsROjFtcqc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://petr-mitrichev.blogspot.com/feeds/7710887454142098765/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1953325079793449971&amp;postID=7710887454142098765" title="10 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1953325079793449971/posts/default/7710887454142098765?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1953325079793449971/posts/default/7710887454142098765?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PetrMitrichev/~3/oJsROjFtcqc/topcoder-open-2012-finals-commentary.html" title="TopCoder Open 2012 Finals Commentary" /><author><name>Petr Mitrichev</name><uri>https://plus.google.com/108329321411299197209</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-yeuTcunFdtw/AAAAAAAAAAI/AAAAAAAAUt4/R54CIwnJtZo/s512-c/photo.jpg" /></author><thr:total>10</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://petr-mitrichev.blogspot.com/2012/10/topcoder-open-2012-finals-commentary.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0YGR3gyfip7ImA9WhJaEko.&quot;"><id>tag:blogger.com,1999:blog-1953325079793449971.post-640653054675872713</id><published>2012-10-03T18:31:00.000+04:00</published><updated>2012-10-03T18:38:46.696+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-10-03T18:38:46.696+04:00</app:edited><title>TopCoder Open 2012 Finals preview</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
This year's TopCoder Open finalists are a very diverse group of people. The most telling statistic, in my view, is the time when they first acquired 3000+ rating on TopCoder (not surprisingly, all of them did at some point :)):&lt;br /&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;&lt;a href="http://www.topcoder.com/tc?module=MemberProfile&amp;amp;cr=11829284&amp;amp;tab=alg" style="color: #ee0000; font-weight: bold;"&gt;andrewzta&lt;/a&gt; - May 2006&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.topcoder.com/tc?module=MemberProfile&amp;amp;cr=19849563&amp;amp;tab=alg" style="color: #ee0000; font-weight: bold;"&gt;ACRush&lt;/a&gt;&amp;nbsp;- September 2006&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.topcoder.com/tc?module=MemberProfile&amp;amp;cr=14970299&amp;amp;tab=alg" style="color: #ee0000; font-weight: bold;"&gt;Egor&lt;/a&gt; - January 2007&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.topcoder.com/tc?module=MemberProfile&amp;amp;cr=7442498&amp;amp;tab=alg" style="color: #ee0000; font-weight: bold;"&gt;marek.cygan&lt;/a&gt; - September 2007&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.topcoder.com/tc?module=MemberProfile&amp;amp;cr=20463878&amp;amp;tab=alg" style="color: #ee0000; font-weight: bold;"&gt;RAVEman&lt;/a&gt; - June 2010&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.topcoder.com/tc?module=MemberProfile&amp;amp;cr=22691397&amp;amp;tab=alg" style="color: #ee0000; font-weight: bold;"&gt;meret&lt;/a&gt; - July 2010&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.topcoder.com/tc?module=MemberProfile&amp;amp;cr=22763515&amp;amp;tab=alg" style="color: #ee0000; font-weight: bold;"&gt;shangjingbo&lt;/a&gt; - December 2011&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.topcoder.com/tc?module=MemberProfile&amp;amp;cr=22689214&amp;amp;tab=alg" style="color: #ee0000; font-weight: bold;"&gt;[[iwi]]&lt;/a&gt; - July 2012&lt;/li&gt;
&lt;/ul&gt;
So we have four people that I'd call veterans, playing the TopCoder algorithm games at the top level for at least five years, and that group is clearly separated from the other four, who have only reached the top recently. None have been the TopCoder Open champion yet, though!&lt;br /&gt;
&lt;br /&gt;
Here are the micromatch scores between the today's finalists (the first number is how many times the person on the left has been ranked higher in rated TopCoder rounds, the second number is how many times the person on the top has been ranked higher):&lt;br /&gt;
&lt;br /&gt;
&lt;table&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;th&gt;Handle&lt;/th&gt;&lt;th&gt;ACRush&lt;/th&gt;&lt;th&gt;marek.cygan&lt;/th&gt;&lt;th&gt;andrewzta&lt;/th&gt;&lt;th&gt;Egor&lt;/th&gt;&lt;th&gt;meret&lt;/th&gt;&lt;th&gt;RAVEman&lt;/th&gt;&lt;th&gt;shangjingbo&lt;/th&gt;&lt;th&gt;[[iwi]]&lt;/th&gt;&lt;th&gt;Average&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;ACRush&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=ACRush&amp;amp;user2=ACRush"&gt;0/0&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=ACRush&amp;amp;user2=marek.cygan"&gt;68/23&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=ACRush&amp;amp;user2=andrewzta"&gt;60/27&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=ACRush&amp;amp;user2=Egor"&gt;98/37&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=ACRush&amp;amp;user2=meret"&gt;15/2&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=ACRush&amp;amp;user2=RAVEman"&gt;85/14&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=ACRush&amp;amp;user2=shangjingbo"&gt;30/2&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=ACRush&amp;amp;user2=[[iwi]]"&gt;70/9&lt;/a&gt;&lt;/td&gt;&lt;td&gt;82%&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;marek.cygan&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=marek.cygan&amp;amp;user2=ACRush"&gt;23/68&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=marek.cygan&amp;amp;user2=marek.cygan"&gt;0/0&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=marek.cygan&amp;amp;user2=andrewzta"&gt;51/51&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=marek.cygan&amp;amp;user2=Egor"&gt;73/53&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=marek.cygan&amp;amp;user2=meret"&gt;6/6&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=marek.cygan&amp;amp;user2=RAVEman"&gt;57/18&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=marek.cygan&amp;amp;user2=shangjingbo"&gt;13/11&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=marek.cygan&amp;amp;user2=[[iwi]]"&gt;41/13&lt;/a&gt;&lt;/td&gt;&lt;td&gt;56%&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;andrewzta&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=andrewzta&amp;amp;user2=ACRush"&gt;27/60&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=andrewzta&amp;amp;user2=marek.cygan"&gt;51/51&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=andrewzta&amp;amp;user2=andrewzta"&gt;0/0&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=andrewzta&amp;amp;user2=Egor"&gt;69/53&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=andrewzta&amp;amp;user2=meret"&gt;6/6&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=andrewzta&amp;amp;user2=RAVEman"&gt;43/20&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=andrewzta&amp;amp;user2=shangjingbo"&gt;7/9&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=andrewzta&amp;amp;user2=[[iwi]]"&gt;36/14&lt;/a&gt;&lt;/td&gt;&lt;td&gt;53%&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Egor&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=Egor&amp;amp;user2=ACRush"&gt;37/98&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=Egor&amp;amp;user2=marek.cygan"&gt;53/73&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=Egor&amp;amp;user2=andrewzta"&gt;53/69&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=Egor&amp;amp;user2=Egor"&gt;0/0&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=Egor&amp;amp;user2=meret"&gt;16/18&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=Egor&amp;amp;user2=RAVEman"&gt;90/67&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=Egor&amp;amp;user2=shangjingbo"&gt;41/14&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=Egor&amp;amp;user2=[[iwi]]"&gt;71/36&lt;/a&gt;&lt;/td&gt;&lt;td&gt;51%&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;meret&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=meret&amp;amp;user2=ACRush"&gt;2/15&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=meret&amp;amp;user2=marek.cygan"&gt;6/6&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=meret&amp;amp;user2=andrewzta"&gt;6/6&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=meret&amp;amp;user2=Egor"&gt;18/16&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=meret&amp;amp;user2=meret"&gt;0/0&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=meret&amp;amp;user2=RAVEman"&gt;15/14&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=meret&amp;amp;user2=shangjingbo"&gt;15/9&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=meret&amp;amp;user2=[[iwi]]"&gt;18/11&lt;/a&gt;&lt;/td&gt;&lt;td&gt;49%&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;RAVEman&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=RAVEman&amp;amp;user2=ACRush"&gt;14/85&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=RAVEman&amp;amp;user2=marek.cygan"&gt;18/57&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=RAVEman&amp;amp;user2=andrewzta"&gt;20/43&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=RAVEman&amp;amp;user2=Egor"&gt;67/90&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=RAVEman&amp;amp;user2=meret"&gt;14/15&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=RAVEman&amp;amp;user2=RAVEman"&gt;0/0&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=RAVEman&amp;amp;user2=shangjingbo"&gt;39/17&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=RAVEman&amp;amp;user2=[[iwi]]"&gt;70/41&lt;/a&gt;&lt;/td&gt;&lt;td&gt;42%&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;shangjingbo&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=shangjingbo&amp;amp;user2=ACRush"&gt;2/30&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=shangjingbo&amp;amp;user2=marek.cygan"&gt;11/13&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=shangjingbo&amp;amp;user2=andrewzta"&gt;9/7&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=shangjingbo&amp;amp;user2=Egor"&gt;14/41&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=shangjingbo&amp;amp;user2=meret"&gt;9/15&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=shangjingbo&amp;amp;user2=RAVEman"&gt;17/39&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=shangjingbo&amp;amp;user2=shangjingbo"&gt;0/0&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=shangjingbo&amp;amp;user2=[[iwi]]"&gt;14/25&lt;/a&gt;&lt;/td&gt;&lt;td&gt;34%&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[[iwi]]&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=[[iwi]]&amp;amp;user2=ACRush"&gt;9/70&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=[[iwi]]&amp;amp;user2=marek.cygan"&gt;13/41&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=[[iwi]]&amp;amp;user2=andrewzta"&gt;14/36&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=[[iwi]]&amp;amp;user2=Egor"&gt;36/71&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=[[iwi]]&amp;amp;user2=meret"&gt;11/18&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=[[iwi]]&amp;amp;user2=RAVEman"&gt;41/70&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=[[iwi]]&amp;amp;user2=shangjingbo"&gt;25/14&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://www.otinn.com/topcoder/al/comparer.php?user1=[[iwi]]&amp;amp;user2=[[iwi]]"&gt;0/0&lt;/a&gt;&lt;/td&gt;&lt;td&gt;34%&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;ul style="text-align: left;"&gt;
&lt;/ul&gt;
&lt;div&gt;
A funny aspect of yesterday's Wildcard round was that fourth-placed people from both Semifinals advanced, meaning that we'd get just the same set of finalists if four advanced from each Semifinal and there was no Wildcard. Historically, Wildcard round advancers has won TopCoder tournaments once (&lt;a href="http://www.topcoder.com/tc?module=MemberProfile&amp;amp;cr=144400&amp;amp;tab=alg" style="color: #ee0000; font-weight: bold;"&gt;tomek&lt;/a&gt; in TCO 2008), got second place twice (&lt;a href="http://community.topcoder.com/tc?module=MemberProfile&amp;amp;tab=alg&amp;amp;cr=152347" style="color: #ee0000; font-weight: bold;"&gt;ZorbaTHut&lt;/a&gt; in TCCC 2004, &lt;a href="http://community.topcoder.com/tc?module=MemberProfile&amp;amp;tab=alg&amp;amp;cr=7446789" style="color: #ee0000; font-weight: bold;"&gt;JongMan&lt;/a&gt; in TCO 2007).&lt;br /&gt;
&lt;br /&gt;
What strategy would people use at today's finals? Judging from the semifinals, [[iwi]]&amp;nbsp;will go Hard-Easy-Medium while everybody else will use the usual Easy-Medium-Hard order. I'm pretty sure the TopCoder admins want to make sure at most one person will solve all three problems, which might well in practice mean nobody will solve all three, so starting with Hard (or doing Easy-Hard-Medium) does look like a viable strategy. I'd propose Easy-Hard-Medium switching to Medium if Hard is not solved (and it's not clear how much is left) about 30 minutes before the end.&lt;br /&gt;
&lt;br /&gt;
Also take a look at &lt;a href="http://community.topcoder.com/tc?module=MemberProfile&amp;amp;tab=alg&amp;amp;cr=22652965" style="color: #ddcc00; font-weight: bold;"&gt;vexorian&lt;/a&gt;'s finals preview at&amp;nbsp;&lt;a href="http://community.topcoder.com/tco12/our-algorithm-finalists/"&gt;http://community.topcoder.com/tco12/our-algorithm-finalists/&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
What other stats on finalists would you like to see? :)&lt;/div&gt;
&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/PetrMitrichev/~4/dsjrLLRj1v4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://petr-mitrichev.blogspot.com/feeds/640653054675872713/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1953325079793449971&amp;postID=640653054675872713" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1953325079793449971/posts/default/640653054675872713?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1953325079793449971/posts/default/640653054675872713?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PetrMitrichev/~3/dsjrLLRj1v4/topcoder-open-2012-finals-preview.html" title="TopCoder Open 2012 Finals preview" /><author><name>Petr Mitrichev</name><uri>https://plus.google.com/108329321411299197209</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-yeuTcunFdtw/AAAAAAAAAAI/AAAAAAAAUt4/R54CIwnJtZo/s512-c/photo.jpg" /></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://petr-mitrichev.blogspot.com/2012/10/topcoder-open-2012-finals-preview.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEcNRX0yfSp7ImA9WhJaEk8.&quot;"><id>tag:blogger.com,1999:blog-1953325079793449971.post-3724914139169883647</id><published>2012-10-03T01:43:00.000+04:00</published><updated>2012-10-03T03:54:54.395+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-10-03T03:54:54.395+04:00</app:edited><title>TopCoder Open 2012 Wildcard Commentary</title><content type="html">&lt;p&gt;&lt;b&gt;19:53&lt;/b&gt; - That’s it for today! Join us tomorrow for the coverage of the ultimate round - the finals! &lt;a href="http://www.timeanddate.com/worldclock/fixedtime.html?iso=20121003T13&amp;p1=867"&gt;http://www.timeanddate.com/worldclock/fixedtime.html?iso=20121003T13&amp;p1=867&lt;/a&gt;.
&lt;p&gt;&lt;b&gt;19:52&lt;/b&gt; - It’s easier to tell which solutions passed than which failed :) iwi’s 1000, meret’s 500, SergeiFedorov’s and dzulgakov’s 250s. That’s it. iwi and meret to the finals!
&lt;p&gt;&lt;b&gt;19:49&lt;/b&gt; - it looks like most 250s were indeed brought down by d=2. The results are being announced now!
&lt;p&gt;&lt;b&gt;19:40&lt;/b&gt; - Kankuro also loses 25 in the dying minutes, on Romka's 500.
&lt;p&gt;&lt;b&gt;19:39&lt;/b&gt; - both meret and Romka got -25 from Dmitry_Egorov's 500.
&lt;p&gt;&lt;b&gt;19:36&lt;/b&gt; - and meret brings down SergeiFedorov's 500. Will we have two non-zero scorers to advance to the finals? :)
&lt;p&gt;&lt;b&gt;19:35&lt;/b&gt; - Romka brings down sdya’s 500.
&lt;p&gt;&lt;b&gt;19:34&lt;/b&gt; - dzhulgakov brings down Dmitry_Egorov's 250.
&lt;p&gt;&lt;b&gt;19:34&lt;/b&gt; - sdya is not reading solutions, seems to have given up.
&lt;p&gt;&lt;b&gt;19:31&lt;/b&gt; - Kankuro brings down sdya’s 250. What about 500s?
&lt;p&gt;&lt;b&gt;19:30&lt;/b&gt; - Challenge is on! Surprisingly, no blind challenges. SergeiFedorov brings down _Romka_’s 250 and meret’s 250, but it seems that he reads them.
&lt;p&gt;&lt;b&gt;19:26&lt;/b&gt; - Apparently iwi’s easy tries to approach (0,0) from (x,y) somewhat greedily. Is it an obvious failure or is that greedy actually some kind of gcd?.. We’ll find out soon. His code contained return “I hate math”; at some point :)
&lt;p&gt;&lt;b&gt;19:25&lt;/b&gt; - Last seconds of coding phase were quite eventful - [[iwi]] submitted easy and SergeiFedorov resubmitted medium. [[iwi]] is the current leader.
&lt;p&gt;&lt;b&gt;19:24&lt;/b&gt; - _Romka_ resubmits the medium, and drops to the last place. Yeah, I’d guess there’s plenty of space for bugs there as well. Looking forward to challenge phase.
&lt;p&gt;&lt;b&gt;19:19&lt;/b&gt; - not much more action, just 4 minutes left. Everybody except iwi has 250+500, iwi has just 1000.
&lt;p&gt;&lt;b&gt;19:14&lt;/b&gt; - SergeiFedorov submits the medium after giving up on the hard and it’s the fastest by far! He’s now in first place.
&lt;p&gt;&lt;b&gt;19:13&lt;/b&gt; - apparently the sample cases for 250 don’t include the “all coordinates odd” case (for example d=2). I predict a lot of challenge fun :)
&lt;p&gt;&lt;b&gt;19:11&lt;/b&gt; - iwi’s 250 is not working, he’s debugging.
&lt;p&gt;&lt;b&gt;19:06&lt;/b&gt; - we’ve missed that dzhulgakov has resubmitted the 250. Promising for challenge phase?.. It looks like challenges will be very important if there’s nobody with 3 tasks.
&lt;p&gt;&lt;b&gt;19:04&lt;/b&gt; - 20 minutes left. I’d say iwi is actually in a great position, as most competitors can’t get their 1000 working - many already coded up some DPs.
&lt;p&gt;&lt;b&gt;19:03&lt;/b&gt; - SergeiFedorov gave up on hard and moved to medium.
&lt;p&gt;&lt;b&gt;18:59&lt;/b&gt; - I guess we can speed things up by considering where will the first letter of large string go. It’s either removed at some point, in which case we get a suffix of large string and the same small string, or mapped to the first letter of the small string. So this can get us a DP on (suffix of large, suffix of small), although it’s not clear to me if we can still manage not to overcount solutions where one of consecutive letters is removed several times. Maybe we should add something like “last removed letter” to the state?.. Anyway, it’s too late to think about this.
&lt;p&gt;&lt;b&gt;18:57&lt;/b&gt; - I can’t see iwi’s solution now, but wata tells its complexity is 50^3, not 50^6 as my proposition below.
&lt;p&gt;&lt;b&gt;18:54&lt;/b&gt; - Currently _Romka_, sdya, Kankuro, meret, Dmitry_Egorov and dzhulgakov submitted easy and medium (and all moved on to the hard), [[iwi]] submitted hard and moved to the easy, SergeiFedorov submitted easy and moved to hard.
&lt;p&gt;&lt;b&gt;18:49&lt;/b&gt; - So the rough approach for the 1000 is: let’s count the number of ways to obtain a substring of the small string from a substring of the large string. We do that by checking which character will be removed last, which leaves us with two substrings of the large string that should be matched somehow to the small substring, so we also have to check all ways to split the small string into two. One challenge is not to count things twice with consecutive equal letters, but that should be doable although I’m too lazy now to figure out how. Another challenge is running time: currently we have something like (50^3/6)*(50^3/6) - (the number of ways to choose a substring and a letter in it)*(the number of ways to choose a substring and a split point in it), which is about 500 million which might be too slow. But in reality we have more restrictions like length of large substring should be at least length of small substring which divides everything by 2 more, and the same for both halves which should divide by something like 2 further, bringing the total running time under control?..
&lt;p&gt;&lt;b&gt;18:43&lt;/b&gt; - About 1000: let’s go from the long string to obtain the short string. The only way we can confuse two removals is when there’s a string of consecutive equal letters in the long string. In that case, removing each of those letters produces the same string, so we should always remove the first one of them. Still don’t know what to do next...
&lt;p&gt;&lt;b&gt;18:39&lt;/b&gt; - forgot to post the link to statements: &lt;a href="http://apps.topcoder.com/forums/?module=Thread&amp;amp;threadID=763830&amp;amp;start=0&amp;amp;mc=2"&gt;http://apps.topcoder.com/forums/?module=Thread&amp;amp;threadID=763830&amp;amp;start=0&amp;amp;mc=2&lt;/a&gt;
&lt;p&gt;&lt;b&gt;18:36&lt;/b&gt; - 250 and 500 solved by Romka.
&lt;p&gt;&lt;b&gt;18:35&lt;/b&gt; - the complexity of that solution is 50*2500 (maximum number of steps)*50(number of equations to check on each step). We can check each equation in O(1) time using hashing.
&lt;p&gt;&lt;b&gt;18:30&lt;/b&gt; - 500 does look straightforward-ish. We will construct all strings from the end. We take any equation, and if one of its parts has more letters known in the end than the other, we reconstruct the missing letters. We repeat this until we can’t reconstruct anything, or until one of the strings is of length more than 2500. In the latter case, there’s no solution (we’ve entered an infinite cycle), and in the former case, our current suffixes are a valid solution, and the smallest one.
&lt;p&gt;&lt;b&gt;18:28&lt;/b&gt; - Meanwhile 7 people submitted easy and [[iwi]] works on hard. Also SergeiFedorov switched to hard after easy.
&lt;p&gt;&lt;b&gt;18:25&lt;/b&gt; - Here’s why the solution for the easy works. If we have a jump by (a,b), then we have jumps by (2a,0) and (0,2b), and also jump by (b,a). Thus, we can get jumps (2g,0) and (0,2g). Then if there’s a jump (2kg, (2m+1)g) then we can get to (0,g) using those two jumps. Otherwise, all jumps are ((2k+1)g,(2m+1)g) and we can get to (g,g) but can’t get to (0,g).
&lt;p&gt;&lt;b&gt;18:22&lt;/b&gt; - 500: We have a system of equations a_i = b_i + c_i, where a_i and b_i are variables, c_i are constants, + is string concatenation (like s = t + “a” and t = u + “b”). We need to find the minimal sum of lengths of its solution.
&lt;p&gt;&lt;b&gt;18:19&lt;/b&gt; - So together with Egor we kind of figured out the 250. Suppose the gcd of all coordinates of all possible jumps is g. Then there are two cases: if at least one jump has an even coordinate (after division by g), then we can get to any point where both coordinates are divisible by g. If all jumps have odd coordinates after division by g, then we can get to any point where both coordinates are divisible by g and their sum is divisible by 2g.
&lt;p&gt;&lt;b&gt;18:09&lt;/b&gt; - Apparently my thinking gets slower as the day comes to an end. It’s kind of obvious that you have to generate all integer vectors of length sqrt(d), but where to go from there?..
&lt;p&gt;&lt;b&gt;18:07&lt;/b&gt; - Romka has just submitted 250! I still have no clue how to solve it.
&lt;p&gt;&lt;b&gt;18:02&lt;/b&gt; - 1000: let’s consider sequence of strings good if for each applicable i s_i is s_{i + 1} with one letter erased. You have two strings, how much different sequences exists with this two string as first and last element? String lengths are up to 50.
&lt;p&gt;&lt;b&gt;18:00&lt;/b&gt; - 250: one starts at (0, 0) and can jump to other integer points. Each jump should be exactly sqrt(d) in length. Is it possible to get to (x,y)?
&lt;p&gt;&lt;b&gt;17:56&lt;/b&gt; - meret has coded max flow to warm up and in case it shows up at the contest. Three minutes before start.
&lt;p&gt;&lt;b&gt;17:44&lt;/b&gt; - One more comment from Gennady Korotkevich (made before the semifinals) - he said that almost anyone could win, but if forced to bet on somebody, he’d bet on meret. Well, now meret has to qualify from the Wildcard to live up to the expectations :)
&lt;p&gt;&lt;b&gt;17:43&lt;/b&gt; - 250, 500 and 1000.
&lt;p&gt;&lt;b&gt;17:41&lt;/b&gt; - Hi! This is live commentary for TopCoder Open 2012 Algorithm Wildcard Round. The round will start in about 20 minutes. I will update this post with new comments, and so will Egor who’s joining me again.
&lt;img src="http://feeds.feedburner.com/~r/PetrMitrichev/~4/1jcNc7cBEEs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://petr-mitrichev.blogspot.com/feeds/3724914139169883647/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1953325079793449971&amp;postID=3724914139169883647" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1953325079793449971/posts/default/3724914139169883647?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1953325079793449971/posts/default/3724914139169883647?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PetrMitrichev/~3/1jcNc7cBEEs/topcoder-open-2012-wildcard-commentary.html" title="TopCoder Open 2012 Wildcard Commentary" /><author><name>Petr Mitrichev</name><uri>https://plus.google.com/108329321411299197209</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-yeuTcunFdtw/AAAAAAAAAAI/AAAAAAAAUt4/R54CIwnJtZo/s512-c/photo.jpg" /></author><thr:total>4</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://petr-mitrichev.blogspot.com/2012/10/topcoder-open-2012-wildcard-commentary.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkENRns9eSp7ImA9WhJaEk0.&quot;"><id>tag:blogger.com,1999:blog-1953325079793449971.post-6783163009719228406</id><published>2012-10-02T20:41:00.003+04:00</published><updated>2012-10-02T23:04:57.561+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-10-02T23:04:57.561+04:00</app:edited><title>TopCoder Open 2012 Semifinal 2 Commentary</title><content type="html">&lt;p&gt;&lt;b&gt;15:03&lt;/b&gt; - that’s it for Semifinal 2. Join me later today for the coverage of the Wildcard round at &lt;a href="http://www.timeanddate.com/worldclock/fixedtime.html?msg=TCO+2012+Wildcard&amp;iso=20121002T18&amp;p1=867"&gt;http://www.timeanddate.com/worldclock/fixedtime.html?msg=TCO+2012+Wildcard&amp;iso=20121002T18&amp;p1=867&lt;/a&gt;!
&lt;p&gt;&lt;b&gt;15:01&lt;/b&gt; - results: dzhulgakov’s 275 and 950 fail, kalinov’s 500 and 950 fail, marcina007’s 500, wata’s 500. shangjingbo, marek.cygan, andrewzta to the finals, meret, Kankuro, Dmitry_Egorov, dzhulgakov to the wildcard.
&lt;p&gt;&lt;b&gt;14:48&lt;/b&gt; - kalinov’s 500 will also fail.
&lt;p&gt;&lt;b&gt;14:42&lt;/b&gt; - dzhulgakov says his hard solution fails.
&lt;p&gt;&lt;b&gt;14:40&lt;/b&gt; - waiting for systests.
&lt;p&gt;&lt;b&gt;14:38&lt;/b&gt; - nika says that several mediums will time out, and contestants themselves know that. Meanwhile andrewzta’s 500 goes down, and there are two more -25s.
&lt;p&gt;&lt;b&gt;14:37&lt;/b&gt; - Right! Now everybody can see the submissions and it’s actually non-competitors who look at leaders’ solutions. (14:37:34) qiuiuu&gt; spectators are interested in top submissions actually.
&lt;p&gt;&lt;b&gt;14:35&lt;/b&gt; - no more action yet, we’re in the middle of the challenge phase.
&lt;p&gt;&lt;b&gt;14:32&lt;/b&gt; - lots of people are reading shangjingbo’s and kalinov’s solutions. As in the first semifinal, solutions of leaders are attracting more interest, which looks illogical to me.
&lt;p&gt;&lt;b&gt;14:31&lt;/b&gt; - (14:31:03) System&gt; marcina007 unsuccessfully challenged shangjingbo's 500-point problem.
&lt;p&gt;&lt;b&gt;14:25&lt;/b&gt; - dzhulgakov also submits the 950 with 30 seconds to go. The current situation: shangjingbo 1375, kalinov 1285, marek.cygan 1145, andrewzta 1084, dzhulgakov 1047. The only less-than-50 gap is between andrewzta and dzhulgakov. Waiting for challenge phase!
&lt;p&gt;&lt;b&gt;14:20&lt;/b&gt; - andrewzta submits the 950. As things stand, he’s still fourth and needs two challenges to overtake the 3rd place, but solutions may fail at systest, you know :)
&lt;p&gt;&lt;b&gt;14:19&lt;/b&gt; - Marek’s solution is the same as ours and kalinov’s. Kankuro has his solution timing out (and it has a weird “for (int t = 24; t &gt;= 5; --t)” loop :)), andrewzta gets wrong answer and is trying to add more and more debug output.
&lt;p&gt;&lt;b&gt;14:14&lt;/b&gt; - Marek submits the hard, 3 people with all problems now. Lining up nicely for the finals, but I’d guess there will be more submissions as the end approaches.
&lt;p&gt;&lt;b&gt;14:06&lt;/b&gt; - pieguy opened hard abandoning his medium. wata had not opened easy, so he is either still working on medium or trying to finish hard.
&lt;p&gt;&lt;b&gt;14:04&lt;/b&gt; - So his solution has complexity of 47 (for k) times 47*4 (for number of bad events happening) times 4 (for number of bad events on this team). The problem is solvable for much larger constraints!
&lt;p&gt;&lt;b&gt;13:59&lt;/b&gt; - Here's how shangjingbo's solution works. We'll do inclusion-exclusion, with the basic event being “rabbit X gives a carrot to someone from his team”. Then how do we count the number of cases with T such events happening? We’ll do a DP over “first k teams, T events”. For a new team, we iterate over how many rabbits in that team give a carrot to someone in his own team, and multiply that by 4*3*.. to account for giving that carrot to different people on his team, and by c[rabbits][num] to account for different rabbits on the team taking part.
&lt;p&gt;&lt;b&gt;13:59&lt;/b&gt; - Meanwhile we have shangjingbo and kalinov with all 3 problems, meret, andrewzta, marek.cygan, dzhulgakov and Kankuro with easy and medium, wata with medium only, pieguy, marcina007 and Dmitry_Egorov with just easy. wata is the only one that had not followed easy-medium-hard approach.
&lt;p&gt;&lt;b&gt;13:49&lt;/b&gt; - Studio finalists are introduces quite loudly. Not sure how algo semifinalists could think about problems currently.
&lt;p&gt;&lt;b&gt;13:48&lt;/b&gt; - shangjingbo submits the hard. His solution is even simpler than what we wrote below, he has just 47*(47*4) states in his DP. kalinov is writing something similar to our solution, but his solution doesn’t work on examples yet. meret is writing some solution which has a DP state of “5 numbers with sum up to 47”. Nobody else is writing code for 950.
&lt;p&gt;&lt;b&gt;13:45&lt;/b&gt; - dzhulgakov also submitted medium.
&lt;p&gt;&lt;b&gt;13:44&lt;/b&gt; - andrewzta is sitting with his notebook and pencil, trying to figure out 950.
&lt;p&gt;&lt;b&gt;13:43&lt;/b&gt; - Marek has submitted the 500.
&lt;p&gt;&lt;b&gt;13:42&lt;/b&gt; - Nothing changed during recent minutes, we are now into the second half of the contest.
&lt;p&gt;&lt;b&gt;13:36&lt;/b&gt; - wata abandoned hard and switched to the medium instead.
&lt;p&gt;&lt;b&gt;13:34&lt;/b&gt; - Easy and hard are DPs if we don’t have issues in our solutions, medium does not involve any standard approach.
&lt;p&gt;&lt;b&gt;13:32&lt;/b&gt; - Medium submissions started to flow in, kalinov, shangjingbo, meret and andrewzta currently submitted and moved on to the hard.
&lt;p&gt;&lt;b&gt;13:31&lt;/b&gt; - actually, 16 can be replaced by 4 since we’re just interested in how many team members are receiving the carrots, not which ones. We just have to be careful to multiply by appropriate coefficients to make sure we’re counting all possibilities.
&lt;p&gt;&lt;b&gt;13:28&lt;/b&gt; - the complexity seems to be: 47 for the boundary position, 47*4 (actually 47*4/2) for the left-to-right number, 47*2 for the right-to-left number, 2^4=16 for the subset of this team that will receive carrots, 4 for the number of carrots from this team that go to the right (all remaining go to the left), and 4 for the number of carrots for this team arriving from the right. All in all, that’s 47*47*2*47*2*16*4*4=106314752, so that should work.
&lt;p&gt;&lt;b&gt;13:27&lt;/b&gt; - here’s our idea for 950: let’s do a DP over “how many carrots cross the boundary between team x and team x+1 from left to right, and how many cross that boundary from right to left”.
&lt;p&gt;&lt;b&gt;13:26&lt;/b&gt; - kalinov and shangjingbo submitted medium.
&lt;p&gt;&lt;b&gt;13:25&lt;/b&gt; - All competitors but wata submitted easy and opened medium, wata still works on hard. This commentary is brought to you by Egor, who’ll be helping me during the rest of this round.
&lt;p&gt;&lt;b&gt;13:25&lt;/b&gt; - 950: There are n teams with 4 players each, and each team brought 0&lt;=a_i&lt;=4 carrots. Find the number of ways to distribute the carrots in such a way that each carrot is given from a team to a different team. All carrots are considered distinct.
&lt;p&gt;&lt;b&gt;13:22&lt;/b&gt; - actually, that solution was wrong, as ACRush has pointed out. The correct solution is: iterate over the set of “important” bits, and then just check if there’s a number that has one important bit set and all others cleared, for all important bits.
&lt;p&gt;&lt;b&gt;13:13&lt;/b&gt; - 500: a set of numbers is called good when all bitwise ors of its subsets are different. What is the subset of the given set of numbers that is good and has the maximum sum of elements? Egor solved it in about 30 seconds: the “good” condition is equivalent to “each number has at least one bit that is zero in all other numbers”, so we can do a DP over “maximum sum of subset of first k numbers that have the given mask of bits as their chosen bits”.
&lt;p&gt;&lt;b&gt;13:11&lt;/b&gt; - Three submissions for 275: shangjingbo, pieguy, meret.
&lt;p&gt;&lt;b&gt;13:05&lt;/b&gt; - Problem statements as contestants open them: &lt;a href="http://apps.topcoder.com/forums/?module=Thread&amp;threadID=763801&amp;start=0&amp;mc=2"&gt;http://apps.topcoder.com/forums/?module=Thread&amp;threadID=763801&amp;start=0&amp;mc=2&lt;/a&gt;.
&lt;p&gt;&lt;b&gt;13:03&lt;/b&gt; - it looks to be a straightforward DP. For each segment of balls, we determine whether it's possible to remove that segment completely. To check that, we iterate over which two balls will be removed the last, and they separate that segment into subproblems.
&lt;p&gt;&lt;b&gt;13:01&lt;/b&gt; - The 250 problem: you are given n balls (n is odd), each marked with either “left” or “right”. In one turn, you take one non-boundary ball and remove it and the ball to the left or right from it, correspondingly, until there’s one ball left. Which balls could be the last one left in the end?
&lt;p&gt;&lt;b&gt;12:56&lt;/b&gt; - announcements are done, 3 minutes before start. There are several in-form competitors in this round: meret has won Google Code Jam just several months ago, Kankuro has won Russian Code Cup a month ago.
&lt;p&gt;&lt;b&gt;12:49&lt;/b&gt; - There are two Java coders in this round as well: andrewzta and wata. In the first round the Java coders took the first and last place :)
&lt;p&gt;&lt;b&gt;12:48&lt;/b&gt; - There are 11 contestants in this round. Burunduk1 couldn’t come, and he told that too late to rearrange everything.
&lt;p&gt;&lt;b&gt;12:48&lt;/b&gt; - 275, 500, 950.
&lt;p&gt;&lt;b&gt;12:39&lt;/b&gt; - Hi! This is live commentary for TopCoder Open 2012 Algorithm Semifinal 2. The round will start in about 20 minutes. I will update this post with new comments.
&lt;img src="http://feeds.feedburner.com/~r/PetrMitrichev/~4/f31WbSrHEMk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://petr-mitrichev.blogspot.com/feeds/6783163009719228406/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1953325079793449971&amp;postID=6783163009719228406" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1953325079793449971/posts/default/6783163009719228406?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1953325079793449971/posts/default/6783163009719228406?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PetrMitrichev/~3/f31WbSrHEMk/1239-hi-this-is-live-commentary-for.html" title="TopCoder Open 2012 Semifinal 2 Commentary" /><author><name>Petr Mitrichev</name><uri>https://plus.google.com/108329321411299197209</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-yeuTcunFdtw/AAAAAAAAAAI/AAAAAAAAUt4/R54CIwnJtZo/s512-c/photo.jpg" /></author><thr:total>5</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://petr-mitrichev.blogspot.com/2012/10/1239-hi-this-is-live-commentary-for.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkEEQnwyeip7ImA9WhJaEUQ.&quot;"><id>tag:blogger.com,1999:blog-1953325079793449971.post-4450269674689289357</id><published>2012-10-02T16:35:00.001+04:00</published><updated>2012-10-02T19:10:03.292+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-10-02T19:10:03.292+04:00</app:edited><title>TopCoder Open 2012 Semifinal 1 Commentary</title><content type="html">&lt;p&gt;&lt;b&gt;11:07&lt;/b&gt; - that’s all for Semifinal 1. Join me later today for Semifinal 2, and then for the Wildcard! Semifinal 2 starting time: &lt;a href="http://www.timeanddate.com/worldclock/fixedtime.html?msg=TCO+2012+Semifinal+2&amp;iso=20121002T13&amp;p1=867"&gt;http://www.timeanddate.com/worldclock/fixedtime.html?msg=TCO+2012+Semifinal+2&amp;iso=20121002T13&amp;p1=867&lt;/a&gt;
&lt;p&gt;&lt;b&gt;11:06&lt;/b&gt; - and the results are in! Tom’s 250 and Dlougach’s 1000 did fail indeed, so did Tom’s 500. All other solutions passed. Egor, ACRush, RAVEman to the finals, iwi, SergeiFedorov, Romka and sdya to the wildcard round.
&lt;p&gt;&lt;b&gt;10:56&lt;/b&gt; - not much news from contestants. It looks like Tom’s 250 and Dlougach’s 1000 will fail, no news about other solutions.
&lt;p&gt;&lt;b&gt;10:49&lt;/b&gt; - PaulJefferys got -25 on Tom’s 500 (not 250 which we know to have a bug), and on iwi’s 500, sdya got -25 on dolphiningle’s 500 in the last seconds. Waiting for systest!
&lt;p&gt;&lt;b&gt;10:47&lt;/b&gt; - sdya killed exod40's 500. Apparently his resubmit was not for nothing.
&lt;p&gt;&lt;b&gt;10:45&lt;/b&gt; - Since the difference between 7th and 8th place is 60 points now, it looks like it’s almost riskless for 7th or 6th place to challenge blindly.
&lt;p&gt;&lt;b&gt;10:43&lt;/b&gt; - No more challenges yet, most people are reading Egor’s and ACRush’s solutions.
&lt;p&gt;&lt;b&gt;10:40&lt;/b&gt; - Romka has killed Dlougach’s 250.
&lt;p&gt;&lt;b&gt;10:38&lt;/b&gt; - dolphinigle has resubmitted both his 250 and his 500, sdya has resubmitted his 500. It would seem that dolphinigle has the best chance at challenging.
&lt;p&gt;&lt;b&gt;10:35&lt;/b&gt; - And Dlougach submits 250 just 7 seconds before the end! Now it’s Egor, ACRush, Dlougach at the top. MikhailOK suggests the best challenge opportunity is integer overflow in 250.
&lt;p&gt;&lt;b&gt;10:33&lt;/b&gt; - Some other contestants from China are recording ACRush's duplicate screen using a camera on their laptop. And he does submit his 1000 just 1 minute before the end! Egor has given up on his stresstesting since his stupid solution doesn't work on the first sample.
&lt;p&gt;&lt;b&gt;10:24&lt;/b&gt; - Egor is writing a stupid solution for 1000 to compare with his solution on random testcases - great thinking! I think that's the best thing he can spend his time on now. Meanwhile, Dlougach submits 1000, not sure if he has changed his matrix to be of size k or have optimized his solution in some other way.
&lt;p&gt;&lt;b&gt;10:15&lt;/b&gt; - And Egor submits 1000! I was right that his solution looks good.
&lt;p&gt;&lt;b&gt;10:10&lt;/b&gt; - ACRush, Egor and Dlougach all seem on the right track in the 1000 - they have matrix power, and they have some formulas for the matrix. Actually, Egor seems to be the closest to our solution as his matrix has explicit formulas and has size k, which is the right thing to do. ACRush computes the matrix in some complicated way which doesn’t work. Dlougach seems to have the examples passing, but his matrix is not of size k but of size k^2, which presumably causes timeouts.
&lt;p&gt;&lt;b&gt;10:03&lt;/b&gt; - ACRush, Egor and SergeiFedorov solved 250+500, iwi solved 500, everybody else except Dlougach solved 250, Dlougach still working on 1000. His projected score on 1000 is approaching scores everybody else has on 500, though.
&lt;p&gt;&lt;b&gt;9:59&lt;/b&gt; - most people are implementing something with disjoint-set-union structure for the 500, so it seems that everybody is on the right track and we’ll see many 500 solutions, so many people will try to solve 1000 and thus it’s possible all three finalists will solve everything.
&lt;p&gt;&lt;b&gt;9:51&lt;/b&gt; - ACRush and Egor have 250+500, everyone but the two people who started with 1000 have 250.
&lt;p&gt;&lt;b&gt;9:47&lt;/b&gt; - 1000 solution - it was right there, but we were missing it for some time :) So we should do a DP with “how many last numbers are linearly independent” as the state. It’s straightforward to count how many ways are there to transition from a state to another state, since all situations are essentially the same: if we know that x last numbers are linearly independent, it doesn’t actually numbers what the numbers are themselves. And of course we do fast matrix power to handle that n can be up to 10^9.
&lt;p&gt;&lt;b&gt;9:39&lt;/b&gt; - Meanwhile, ACRush has submitted 250 and 500 and 7 other people have submitted 250.
&lt;p&gt;&lt;b&gt;9:37&lt;/b&gt; - The problem statement looks like Burrows-Wheeler Transform, but it doesn’t seem relevant to the solution.
&lt;p&gt;&lt;b&gt;9:34&lt;/b&gt; - The 500: given a prefix of a permutation, find the lexicographically smallest permutation with that prefix that is one big cycle. I’ve test-solved this problem before the TCO so I already know the solution, but it’s actually quite straightforward anyway. When placing each unknown number in the permutation, we place it to the smallest possible number unless that number would form a cycle, in which case we place the second smallest possible number - it will not form a cycle in that case.
&lt;p&gt;&lt;b&gt;9:31&lt;/b&gt; - it seems that Tom’s solution in 250 has an overflow bug.
&lt;p&gt;&lt;b&gt;9:26&lt;/b&gt; - Essentially, it means that each k consecutive numbers must be linearly dependent as vectors in Z_2^(log m). This is always true when k &gt; log m. When k &lt;= log m, it looks like when choosing the next number, the only thing that matters is the dimension of the space defined by the previous k-1 numbers.
&lt;p&gt;&lt;b&gt;9:24&lt;/b&gt; - The 1000 problem: count how many ways are there to choose n numbers each up to m (where m is power of two minus one) so that for each consecutive segment of k of those numbers (segments [1st, 2nd, …, kth], [2nd, 3rd, …, (k+1)th], and so on) some non-empty subset of that segment xors to 0.
&lt;p&gt;&lt;b&gt;9:19&lt;/b&gt; - Problem statements as contestants open them: &lt;a href="http://apps.topcoder.com/forums/;jsessionid=0CE09A8F5F29689F1259D2D102B38B34?module=Thread&amp;threadID=763756&amp;start=0&amp;mc=2"&gt;http://apps.topcoder.com/forums/;jsessionid=0CE09A8F5F29689F1259D2D102B38B34?module=Thread&amp;threadID=763756&amp;start=0&amp;mc=2&lt;/a&gt;.
&lt;p&gt;&lt;b&gt;9:18&lt;/b&gt; - And ACRush readily submits the easy. It looks like there’s no catch, it’s indeed straightforward.
&lt;p&gt;&lt;b&gt;9:14&lt;/b&gt; - This problem looks straightforward. The white connected components actually correspond to triples of consecutive equal characters in each string, and the ones adjacent to the boundary are those adjacent to the boundary in at least one string. So it looks like the answer is something like total_length_of_white_in_A*total_length_of_white_in_B*total_length_of_white_in_C+(same for black)-total_length_of_white_in_A_not_adjacent_to_bounary*(same for B)*(same for C)-(same for black).
&lt;p&gt;&lt;b&gt;9:11&lt;/b&gt; - Dlougach and iwi start with 1000, everybody else with 250. 250 problem statement: you are given three strings A, B, C. Let’s color 3D cell (i,j,k) white if and only if A[i], B[j], C[k] are all the same. Now we need to count the number of white cells that are in the connected components adjacent to the boundary. A, B, C are up to 2500 characters.
&lt;p&gt;&lt;b&gt;9:08&lt;/b&gt; - One minute before start.
&lt;p&gt;&lt;b&gt;9:05&lt;/b&gt; - Spectators can log into the arena, but the contestants can’t see their messages. However, they can see who’s in the room. It looks possible to pass some information that way (as in “I will enter the room if your solution looks wrong”).
&lt;p&gt;&lt;b&gt;9:02&lt;/b&gt; - Jessie tells everybody to line up for introductions.
&lt;p&gt;&lt;b&gt;9:02&lt;/b&gt; - 250, 500, 1000.
&lt;p&gt;&lt;b&gt;8:58&lt;/b&gt; - Almost nobody is preparing, people are just walking around and chatting.
&lt;p&gt;&lt;b&gt;8:54&lt;/b&gt; - Jessie says ten minutes before start.
&lt;p&gt;&lt;b&gt;8:53&lt;/b&gt; - There seems to be some admin activity onstage. Apparently one machine is not working?..
&lt;p&gt;&lt;b&gt;8:50&lt;/b&gt; - Exclusive commentary from Gennady Korotkevich - it turns out Gena is closely following the TCO and is watching this semifinal. He says that it’s a pity that rng_58 doesn’t get to defend his title - couldn’t agree more.
&lt;p&gt;&lt;b&gt;8:48&lt;/b&gt; - And here’s the (one of) prediction contest current standings: &lt;a href="http://snarknews.info/showvote.cgi?data=tco2012"&gt;http://snarknews.info/showvote.cgi?data=tco2012&lt;/a&gt;.
&lt;p&gt;&lt;b&gt;8:45&lt;/b&gt; - The overview of all semifinalists: &lt;a href="http://snarknews.info/index.cgi?data=tco/2012/finalists&amp;head=index&amp;menu=index&amp;year=2012&amp;contest=tco&amp;class=tco2012"&gt;http://snarknews.info/index.cgi?data=tco/2012/finalists&amp;head=index&amp;menu=index&amp;year=2012&amp;contest=tco&amp;class=tco2012&lt;/a&gt;. This round includes those with “1” in the last column.
&lt;p&gt;&lt;b&gt;8:43&lt;/b&gt; - It looks like we have two Java coders - Egor and theycallhimtom. Everybody else is in the ugly world of C++.
&lt;p&gt;&lt;b&gt;8:38&lt;/b&gt; - The contestants started preparations. Not much to do since Arena and plugins are already set up, and there’s no Internet access to set up additional software. As usual, C++ coders are writing #includes.
&lt;p&gt;&lt;b&gt;8:33&lt;/b&gt; - Hi! This is live commentary for TopCoder Open 2012 Algorithm Semifinal 1. They’ve just opened the arena but haven’t let the contestants to start preparations yet, so 12 anxious people are walking around :) I will post commentary by updating this post.


&lt;img src="http://feeds.feedburner.com/~r/PetrMitrichev/~4/Zg3aFLNPadk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://petr-mitrichev.blogspot.com/feeds/4450269674689289357/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1953325079793449971&amp;postID=4450269674689289357" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1953325079793449971/posts/default/4450269674689289357?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1953325079793449971/posts/default/4450269674689289357?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PetrMitrichev/~3/Zg3aFLNPadk/topcoder-open-2012-semifinal-1.html" title="TopCoder Open 2012 Semifinal 1 Commentary" /><author><name>Petr Mitrichev</name><uri>https://plus.google.com/108329321411299197209</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-yeuTcunFdtw/AAAAAAAAAAI/AAAAAAAAUt4/R54CIwnJtZo/s512-c/photo.jpg" /></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://petr-mitrichev.blogspot.com/2012/10/topcoder-open-2012-semifinal-1.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkcBSHs7fip7ImA9WhJaEU4.&quot;"><id>tag:blogger.com,1999:blog-1953325079793449971.post-2267838235253762187</id><published>2012-10-02T03:27:00.006+04:00</published><updated>2012-10-02T03:27:39.506+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-10-02T03:27:39.506+04:00</app:edited><title>TopCoder Open 2012 - more arena flyovers</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Here are some more videos that illustrate how TopCoder Open works.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;object width="320" height="266" class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://i.ytimg.com/vi/5iV0I5G7Waw/0.jpg"&gt;&lt;param name="movie" value="http://www.youtube.com/v/5iV0I5G7Waw?version=3&amp;f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" /&gt;&lt;param name="bgcolor" value="#FFFFFF" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;embed width="320" height="266"  src="http://www.youtube.com/v/5iV0I5G7Waw?version=3&amp;f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" type="application/x-shockwave-flash" allowfullscreen="true"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;object width="320" height="266" class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://i.ytimg.com/vi/GzRxQ4Dj9W0/0.jpg"&gt;&lt;param name="movie" value="http://www.youtube.com/v/GzRxQ4Dj9W0?version=3&amp;f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" /&gt;&lt;param name="bgcolor" value="#FFFFFF" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;embed width="320" height="266"  src="http://www.youtube.com/v/GzRxQ4Dj9W0?version=3&amp;f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" type="application/x-shockwave-flash" allowfullscreen="true"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;object width="320" height="266" class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://i.ytimg.com/vi/XLm50r71sCE/0.jpg"&gt;&lt;param name="movie" value="http://www.youtube.com/v/XLm50r71sCE?version=3&amp;f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" /&gt;&lt;param name="bgcolor" value="#FFFFFF" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;embed width="320" height="266"  src="http://www.youtube.com/v/XLm50r71sCE?version=3&amp;f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" type="application/x-shockwave-flash" allowfullscreen="true"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/PetrMitrichev/~4/Dw0SIKECghA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://petr-mitrichev.blogspot.com/feeds/2267838235253762187/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1953325079793449971&amp;postID=2267838235253762187" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1953325079793449971/posts/default/2267838235253762187?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1953325079793449971/posts/default/2267838235253762187?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PetrMitrichev/~3/Dw0SIKECghA/topcoder-open-2012-more-arena-flyovers.html" title="TopCoder Open 2012 - more arena flyovers" /><author><name>Petr Mitrichev</name><uri>https://plus.google.com/108329321411299197209</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-yeuTcunFdtw/AAAAAAAAAAI/AAAAAAAAUt4/R54CIwnJtZo/s512-c/photo.jpg" /></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://petr-mitrichev.blogspot.com/2012/10/topcoder-open-2012-more-arena-flyovers.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0ECRns-eyp7ImA9WhJaEEs.&quot;"><id>tag:blogger.com,1999:blog-1953325079793449971.post-6821176407656563555</id><published>2012-10-01T09:34:00.002+04:00</published><updated>2012-10-01T09:34:27.553+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-10-01T09:34:27.553+04:00</app:edited><title>TopCoder Open 2012 - arena video overview</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Here's a less serious view at TopCoder Open 2012 - a standard "overview of arena" video, this time from a flying camera though :) Unfortunately the arena is quite dark and picture quality is quite bad. I'm trying to explain what's going on in the audio.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;object width="320" height="266" class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://i.ytimg.com/vi/darhqpEeLA8/0.jpg"&gt;&lt;param name="movie" value="http://www.youtube.com/v/darhqpEeLA8?version=3&amp;f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" /&gt;&lt;param name="bgcolor" value="#FFFFFF" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;embed width="320" height="266"  src="http://www.youtube.com/v/darhqpEeLA8?version=3&amp;f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" type="application/x-shockwave-flash" allowfullscreen="true"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/PetrMitrichev/~4/vf_TYYxFY8I" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://petr-mitrichev.blogspot.com/feeds/6821176407656563555/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1953325079793449971&amp;postID=6821176407656563555" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1953325079793449971/posts/default/6821176407656563555?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1953325079793449971/posts/default/6821176407656563555?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PetrMitrichev/~3/vf_TYYxFY8I/topcoder-open-2012-arena-video-overview.html" title="TopCoder Open 2012 - arena video overview" /><author><name>Petr Mitrichev</name><uri>https://plus.google.com/108329321411299197209</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-yeuTcunFdtw/AAAAAAAAAAI/AAAAAAAAUt4/R54CIwnJtZo/s512-c/photo.jpg" /></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://petr-mitrichev.blogspot.com/2012/10/topcoder-open-2012-arena-video-overview.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D04BQ34zeip7ImA9WhJaEEs.&quot;"><id>tag:blogger.com,1999:blog-1953325079793449971.post-404090832828670694</id><published>2012-10-01T08:32:00.002+04:00</published><updated>2012-10-01T08:32:32.082+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-10-01T08:32:32.082+04:00</app:edited><title>TopCoder Open: problem difficulty</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Tomorrow is the first day of TopCoder Open 2012, and I'll try to blog on its algorithm track.&lt;br /&gt;
&lt;br /&gt;
Here's a small analysis of TopCoder Open problem difficulty.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;
Let's consider the time taken to solve the problem as the ultimate measure of problem difficulty. Then, we can estimate the difficulty of, say, a medium problem in a TopCoder Open semifinal by comparing the solving time for this problem for each competitor with the solving time for other medium problems for the same competitor. More precisely, for each competitor in each TopCoder Open onsite round, I've compared the solving time for each problem with the solving time for this competitor in all rounds that took place in the same year, and the percentage of problems that were easier plus half the percentage of problems that were of the same difficulty is the declared measure of difficulty of the onsite problem for this competitor. The median of those numbers over all competitors is the difficulty of the onsite problem.&lt;br /&gt;
&lt;br /&gt;
Here's the result:&lt;br /&gt;
&lt;br /&gt;
TCO '03 Semifinals 1 98% 69% 79%&lt;br /&gt;
TCO '03 Semifinals 2 89% 81% 73%&lt;br /&gt;
TCO '03 Semifinals 3 92% 87% 68%&lt;br /&gt;
TCO '03 Semifinals 4 82% 78% 82%&lt;br /&gt;
TCO '03 Finals 91% 90% 81%&lt;br /&gt;
TCO04 Semifinal 1 87% 80% 67%&lt;br /&gt;
TCO04 Semifinal 2 92% 79% 67%&lt;br /&gt;
TCO04 Semifinal 3 84% 51% 64%&lt;br /&gt;
TCO04 Wildcard 66% 88% 72%&lt;br /&gt;
TCO04 Finals 86% 79% 87%&lt;br /&gt;
TCO05 Semi 1 91% 76% 64%&lt;br /&gt;
TCO05 Semi 2 90% 71% 64%&lt;br /&gt;
TCO05 Semi 3 78% 81% 64%&lt;br /&gt;
TCO05 Wildcard 88% 81% 64%&lt;br /&gt;
TCO05 Finals 91% 77% 74%&lt;br /&gt;
TCO06 Semi 1 93% 77% 69%&lt;br /&gt;
TCO06 Semi 2 75% 77% 68%&lt;br /&gt;
TCO06 Semi 3 88% 77% 70%&lt;br /&gt;
TCO06 Wildcard 66% 84% 71%&lt;br /&gt;
TCO06 Finals 66% 85% 77%&lt;br /&gt;
TCO07 Semi 1 65% 79% 68%&lt;br /&gt;
TCO07 Semi 2 89% 77% 66%&lt;br /&gt;
TCO07 Semi 3 86% 83% 65%&lt;br /&gt;
TCO08 Semifinal 1 64% 81% 62%&lt;br /&gt;
TCO08 Semifinal 2 85% 79% 63%&lt;br /&gt;
TCO08 Semifinal 3 76% 80% 63%&lt;br /&gt;
TCO08 Wildcard 94% 44% 66%&lt;br /&gt;
TCO08 Championship 96% 86% 64%&lt;br /&gt;
TCO09 Semifinal 84% 59% 60%&lt;br /&gt;
TCO09 Championship 95% 87% 56%&lt;br /&gt;
TCO10 Semi 1 89% 84% 61%&lt;br /&gt;
TCO10 Semi 2 87% 75% 53%&lt;br /&gt;
TCO10 Wildcard 81% 86% 57%&lt;br /&gt;
TCO10 Final 90% 54% 61%&lt;br /&gt;
TCO11 Semifinal 1 74% 73% 55%&lt;br /&gt;
TCO11 Semifinal 2 91% 84% 57%&lt;br /&gt;
TCO11 Wildcard Round 87% 90% 56%&lt;br /&gt;
TCO11 Championship Round 83% 78% 62%&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
You can see that the numbers for the hard problem are lower than those for easy and medium; the reason is that I consider "not solved" to be equal to "not solved", and thus when a person solves just 60% of all hards, the perceived difficulty of any problem will not exceed 80%.&lt;br /&gt;
&lt;br /&gt;
With that effect in mind, the above list reveals that 'easy' problems are hovering around 90% mark (more difficult than 90% SRM 'easy' problems), while 'medium' problems are sometimes around 80-85% difficulty but sometimes have huge drops to just average difficulty, around 50%.&lt;br /&gt;
&lt;br /&gt;
Another interesting slice of the same data is the list of competitors ordered by decreasing average difficulty of onsite problems. Here's the list, limited to only those competitors with at least 5 onsite rounds:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PaulJefferys - 6 rounds - 58%&lt;br /&gt;
reid - 5 rounds - 59%&lt;br /&gt;
tomekkulczynski - 5 rounds - 64%&lt;br /&gt;
Eryx - 6 rounds - 65%&lt;br /&gt;
gawry - 7 rounds - 66%&lt;br /&gt;
Yarin - 5 rounds - 67%&lt;br /&gt;
bmerry - 7 rounds - 67%&lt;br /&gt;
nicka81 - 5 rounds - 67%&lt;br /&gt;
antimatter - 5 rounds - 70%&lt;br /&gt;
liympanda - 6 rounds - 70%&lt;br /&gt;
ACRush - 8 rounds - 71%&lt;br /&gt;
Im2Good - 5 rounds - 71%&lt;br /&gt;
Ying - 5 rounds - 71%&lt;br /&gt;
ploh - 6 rounds - 71%&lt;br /&gt;
grotmol - 6 rounds - 72%&lt;br /&gt;
marek.cygan - 10 rounds - 72%&lt;br /&gt;
John Dethridge - 9 rounds - 73%&lt;br /&gt;
cyfra - 5 rounds - 73%&lt;br /&gt;
misof - 5 rounds - 74%&lt;br /&gt;
andrewzta - 7 rounds - 75%&lt;br /&gt;
tomek - 10 rounds - 75%&lt;br /&gt;
SnapDragon - 8 rounds - 77%&lt;br /&gt;
Petr - 11 rounds - 81%&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
So for PaulJefferys and reid, the onsite rounds are actually not much more difficult than normal rounds (I guess partially because they don't do much SRMs, and thus "normal" rounds are the TCO qualification rounds for them), while I'm actually the one who struggles the most at the onsites :)&lt;br /&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/PetrMitrichev/~4/VchjEpOaucc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://petr-mitrichev.blogspot.com/feeds/404090832828670694/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1953325079793449971&amp;postID=404090832828670694" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1953325079793449971/posts/default/404090832828670694?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1953325079793449971/posts/default/404090832828670694?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PetrMitrichev/~3/VchjEpOaucc/topcoder-open-problem-difficulty.html" title="TopCoder Open: problem difficulty" /><author><name>Petr Mitrichev</name><uri>https://plus.google.com/108329321411299197209</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-yeuTcunFdtw/AAAAAAAAAAI/AAAAAAAAUt4/R54CIwnJtZo/s512-c/photo.jpg" /></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://petr-mitrichev.blogspot.com/2012/10/topcoder-open-problem-difficulty.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUICRXs7eip7ImA9WhJUEkw.&quot;"><id>tag:blogger.com,1999:blog-1953325079793449971.post-2099433851578675989</id><published>2012-09-09T23:06:00.000+04:00</published><updated>2012-09-09T23:06:04.502+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-09-09T23:06:04.502+04:00</app:edited><title>Russian Code Cup 2012</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;span style="background-color: white; font-family: arial, sans-serif; font-size: 13px; line-height: 18px;"&gt;Tomorrow is the day of the final round of Russian Code Cup (&lt;/span&gt;&lt;a class="ot-anchor" href="http://russiancodecup.ru/" style="background-color: white; color: #3366cc; cursor: pointer; font-family: arial, sans-serif; font-size: 13px; line-height: 18px; text-decoration: none;"&gt;http://russiancodecup.ru/&lt;/a&gt;&lt;span style="background-color: white; font-family: arial, sans-serif; font-size: 13px; line-height: 18px;"&gt;). Just several days before Gena&amp;nbsp;turns 18, our last chance as Egor&lt;/span&gt;&lt;span style="background-color: white; font-family: arial, sans-serif; font-size: 13px; line-height: 18px;"&gt;&amp;nbsp;puts it :) There will be live broadcast on the website. I need your support! &lt;a href="http://timeanddate.com/worldclock/fixedtime.html?msg=RCC+2012&amp;amp;iso=20120910T11&amp;amp;p1=166&amp;amp;ah=3"&gt;Click for date/time in all timezones&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: white; font-family: arial, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="background-color: white; font-family: arial, sans-serif; font-size: 13px; line-height: 18px;"&gt;This event itself is just&amp;nbsp;marvelous! Today was mostly board game day, met a lot of friends, the&amp;nbsp;atmosphere&amp;nbsp;is amazing. Here's a picture from the event's place:&lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: white; font-family: arial, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-hHekbIy7oVI/UEzoIbrVxZI/AAAAAAAAOQA/g-dq3Ly_-Ho/s1600/IMG_20120909_185938.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="540" src="http://4.bp.blogspot.com/-hHekbIy7oVI/UEzoIbrVxZI/AAAAAAAAOQA/g-dq3Ly_-Ho/s720/IMG_20120909_185938.jpg" width="720" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style="background-color: white; font-family: arial, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/PetrMitrichev/~4/wZMuzXcD3AU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://petr-mitrichev.blogspot.com/feeds/2099433851578675989/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1953325079793449971&amp;postID=2099433851578675989" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1953325079793449971/posts/default/2099433851578675989?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1953325079793449971/posts/default/2099433851578675989?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PetrMitrichev/~3/wZMuzXcD3AU/russian-code-cup-2012.html" title="Russian Code Cup 2012" /><author><name>Petr Mitrichev</name><uri>https://plus.google.com/108329321411299197209</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-yeuTcunFdtw/AAAAAAAAAAI/AAAAAAAAUt4/R54CIwnJtZo/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-hHekbIy7oVI/UEzoIbrVxZI/AAAAAAAAOQA/g-dq3Ly_-Ho/s72-c/IMG_20120909_185938.jpg" height="72" width="72" /><thr:total>2</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://petr-mitrichev.blogspot.com/2012/09/russian-code-cup-2012.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkMFRnY7eCp7ImA9WhJSEkQ.&quot;"><id>tag:blogger.com,1999:blog-1953325079793449971.post-2037972362498388985</id><published>2012-07-03T09:46:00.002+04:00</published><updated>2012-07-03T09:46:57.800+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-07-03T09:46:57.800+04:00</app:edited><title /><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
Here are some more recent TopCoder screencasts (double-click on the video for full screen):&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
SRM 548:&lt;br/&gt;&lt;iframe width="1280" height="720" src="http://www.youtube.com/embed/QKuMGhPHqOI?hd=1" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
SRM 547:&lt;br/&gt;&lt;iframe width="1280" height="720" src="http://www.youtube.com/embed/9HX2QQIj3GY?hd=1" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
TCO12 Round 3A:&lt;br/&gt;&lt;iframe width="1280" height="720" src="http://www.youtube.com/embed/EJkwQfCHYb8?hd=1" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
SRM 531:&lt;br/&gt;&lt;iframe width="960" height="720" src="http://www.youtube.com/embed/Hdq9S1ntzAc?hd=1" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
SRM 529:&lt;br/&gt;&lt;iframe width="1280" height="720" src="http://www.youtube.com/embed/TjZ96swl6gM?hd=1" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/PetrMitrichev/~4/-b4m0fpPLhs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://petr-mitrichev.blogspot.com/feeds/2037972362498388985/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1953325079793449971&amp;postID=2037972362498388985" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1953325079793449971/posts/default/2037972362498388985?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1953325079793449971/posts/default/2037972362498388985?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PetrMitrichev/~3/-b4m0fpPLhs/here-are-some-more-recent-topcoder.html" title="" /><author><name>Petr Mitrichev</name><uri>https://plus.google.com/108329321411299197209</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-yeuTcunFdtw/AAAAAAAAAAI/AAAAAAAAUt4/R54CIwnJtZo/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://img.youtube.com/vi/QKuMGhPHqOI/default.jpg" height="72" width="72" /><thr:total>3</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://petr-mitrichev.blogspot.com/2012/07/here-are-some-more-recent-topcoder.html</feedburner:origLink></entry></feed>
