<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>TopCoder Competitions</title><link>http://blogs.vbcity.com/msg555/category/183.aspx</link><description>Phear méh</description><managingEditor>Mark Gordon</managingEditor><dc:language>en-US</dc:language><generator>.Text Version 0.95.2004.102</generator><item><dc:creator>Mark Gordon</dc:creator><title>Single Round Match 295</title><link>http://blogs.vbcity.com/msg555/archive/2006/03/31/5944.aspx</link><pubDate>Fri, 31 Mar 2006 17:52:00 GMT</pubDate><guid>http://blogs.vbcity.com/msg555/archive/2006/03/31/5944.aspx</guid><description>&lt;P&gt;Ok, so I think I'm going to start using this blog to discuss TopCoder&amp;nbsp;Competitions.&amp;nbsp; Single Round Match 295, which was on Wednesday, was pretty fun, although I'm a little disappointed that I only got the first problem.&amp;nbsp; My rating went up nonetheless.&lt;/P&gt;
&lt;P&gt;So, you can view the first problem &lt;A href="http://www.topcoder.com/stat?c=problem_statement&amp;amp;pm=6122&amp;amp;rd=9816"&gt;here&lt;/A&gt;, (you have to be logged in, sorry) basically the idea was that you were trying to build a bridge of D length with cards of L length and you had to return the amount of cards&amp;nbsp;necessary to complete it.&amp;nbsp; It had some stuff about equilibriums and center of masses... but the pictures they provided made it clear that each card added 1/(2n) units to the bridge where n is the card number.&amp;nbsp; So all you had to do was sum 1/(2n) until it was greater than D/L (lol)&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="COLOR: blue"&gt;class &lt;/SPAN&gt;BuildBridge&lt;BR&gt;&lt;SPAN style="COLOR: navy"&gt;{&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt;&lt;SPAN style="COLOR: navy"&gt;:&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;int &lt;/SPAN&gt;howManyCards&lt;SPAN style="COLOR: navy"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;int &lt;/SPAN&gt;D&lt;SPAN style="COLOR: navy"&gt;, &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;int &lt;/SPAN&gt;L&lt;SPAN style="COLOR: navy"&gt;)&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;int &lt;/SPAN&gt;i&lt;SPAN style="COLOR: navy"&gt;;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;double &lt;/SPAN&gt;dist &lt;SPAN style="COLOR: navy"&gt;= &lt;/SPAN&gt;&lt;SPAN style="COLOR: #8000ff"&gt;0.0&lt;/SPAN&gt;&lt;SPAN style="COLOR: navy"&gt;;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;for &lt;/SPAN&gt;&lt;SPAN style="COLOR: navy"&gt;(&lt;/SPAN&gt;i &lt;SPAN style="COLOR: navy"&gt;= &lt;/SPAN&gt;&lt;SPAN style="COLOR: purple"&gt;2&lt;/SPAN&gt;&lt;SPAN style="COLOR: navy"&gt;; &lt;/SPAN&gt;L &lt;SPAN style="COLOR: navy"&gt;* &lt;/SPAN&gt;dist &lt;SPAN style="COLOR: navy"&gt;&amp;lt; &lt;/SPAN&gt;D &lt;SPAN style="COLOR: navy"&gt;- &lt;/SPAN&gt;&lt;SPAN style="COLOR: #8000ff"&gt;1e-9&lt;/SPAN&gt;&lt;SPAN style="COLOR: navy"&gt;; &lt;/SPAN&gt;i&lt;SPAN style="COLOR: navy"&gt;+=&lt;/SPAN&gt;&lt;SPAN style="COLOR: purple"&gt;2&lt;/SPAN&gt;&lt;SPAN style="COLOR: navy"&gt;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;dist &lt;SPAN style="COLOR: navy"&gt;+= &lt;/SPAN&gt;&lt;SPAN style="COLOR: #8000ff"&gt;1.0 &lt;/SPAN&gt;&lt;SPAN style="COLOR: navy"&gt;/ (&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;double&lt;/SPAN&gt;&lt;SPAN style="COLOR: navy"&gt;)&lt;/SPAN&gt;i&lt;SPAN style="COLOR: navy"&gt;;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;return &lt;/SPAN&gt;i &lt;SPAN style="COLOR: navy"&gt;/ &lt;/SPAN&gt;&lt;SPAN style="COLOR: purple"&gt;2 &lt;/SPAN&gt;&lt;SPAN style="COLOR: navy"&gt;- &lt;/SPAN&gt;&lt;SPAN style="COLOR: purple"&gt;1&lt;/SPAN&gt;&lt;SPAN style="COLOR: navy"&gt;;&lt;BR&gt;}&lt;BR&gt;};&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="COLOR: black"&gt;Unfortunately, I misread the 500 point question.&amp;nbsp; You can view it &lt;A href="http://www.topcoder.com/stat?c=problem_statement&amp;amp;pm=6102&amp;amp;rd=9816"&gt;here&lt;/A&gt;.&amp;nbsp; You had to assist thief &amp;#8220;Jimmy Lightning&amp;#8221; steal the greatest value of diamonds.&amp;nbsp; You were given a list of diamonds that each had a value, the amount of time it took to steal, and the room it was located in.&amp;nbsp; Jimmy instantly moves from one room to another.&amp;nbsp; To make things complicated, each door closes at a certain time after the robbery begins.&amp;nbsp; Rooms are connected linearly, so you need to go through room 3 to go from room 2 to room 4 (I missed this part).&amp;nbsp; Also, you must leave through door 1.&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;One of the rules on TopCoder is that your algorithm must complete in 2 seconds.&amp;nbsp; That means you just can't brute force this with a recursive method.&amp;nbsp;&amp;nbsp;I attacked this problem by realizing that at any time t, after the robbery began there is only one way to get the greatest value of diamonds.&amp;nbsp; So at any time t you should try to steal every type of diamond that you can with the room being accessible after you steal it, and recursively call the same function at t + the time it takes to steal that diamond.&amp;nbsp; After the highest value has been obtained from those returned values, simply store that number to a cache, and if later is your function is called at that same value of t you already have the answer.&amp;nbsp; (Note I got this wrong during the competition but I fixed it after)&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="COLOR: blue"&gt;class &lt;/SPAN&gt;JimmyLightning&lt;BR&gt;&lt;SPAN style="COLOR: navy"&gt;{&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt;&lt;SPAN style="COLOR: navy"&gt;:&lt;BR&gt;&lt;/SPAN&gt;vector &lt;SPAN style="COLOR: navy"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;int&lt;/SPAN&gt;&lt;SPAN style="COLOR: navy"&gt;&amp;gt; &lt;/SPAN&gt;doors&lt;SPAN style="COLOR: navy"&gt;;&lt;BR&gt;&lt;/SPAN&gt;vector &lt;SPAN style="COLOR: navy"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;int&lt;/SPAN&gt;&lt;SPAN style="COLOR: navy"&gt;&amp;gt; &lt;/SPAN&gt;dv&lt;SPAN style="COLOR: navy"&gt;;&lt;BR&gt;&lt;/SPAN&gt;vector &lt;SPAN style="COLOR: navy"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;int&lt;/SPAN&gt;&lt;SPAN style="COLOR: navy"&gt;&amp;gt; &lt;/SPAN&gt;dt&lt;SPAN style="COLOR: navy"&gt;;&lt;BR&gt;&lt;/SPAN&gt;vector &lt;SPAN style="COLOR: navy"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;int&lt;/SPAN&gt;&lt;SPAN style="COLOR: navy"&gt;&amp;gt; &lt;/SPAN&gt;dr&lt;SPAN style="COLOR: navy"&gt;;&lt;BR&gt;&lt;/SPAN&gt;vector &lt;SPAN style="COLOR: navy"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;int&lt;/SPAN&gt;&lt;SPAN style="COLOR: navy"&gt;&amp;gt; &lt;/SPAN&gt;maxdoor&lt;SPAN style="COLOR: navy"&gt;;&lt;BR&gt;&lt;/SPAN&gt;vector &lt;SPAN style="COLOR: navy"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;int&lt;/SPAN&gt;&lt;SPAN style="COLOR: navy"&gt;&amp;gt; &lt;/SPAN&gt;cache&lt;SPAN style="COLOR: navy"&gt;;&lt;BR&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;int &lt;/SPAN&gt;robTheBank&lt;SPAN style="COLOR: navy"&gt;(&lt;/SPAN&gt;vector &lt;SPAN style="COLOR: navy"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;int&lt;/SPAN&gt;&lt;SPAN style="COLOR: navy"&gt;&amp;gt; &lt;/SPAN&gt;d&lt;SPAN style="COLOR: navy"&gt;, &lt;/SPAN&gt;vector &lt;SPAN style="COLOR: navy"&gt;&amp;lt;&lt;/SPAN&gt;string&lt;SPAN style="COLOR: navy"&gt;&amp;gt; &lt;/SPAN&gt;diamonds&lt;SPAN style="COLOR: navy"&gt;)&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;doors &lt;SPAN style="COLOR: navy"&gt;= &lt;/SPAN&gt;d&lt;SPAN style="COLOR: navy"&gt;;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;for &lt;/SPAN&gt;&lt;SPAN style="COLOR: navy"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;int &lt;/SPAN&gt;i &lt;SPAN style="COLOR: navy"&gt;= &lt;/SPAN&gt;&lt;SPAN style="COLOR: purple"&gt;0&lt;/SPAN&gt;&lt;SPAN style="COLOR: navy"&gt;; &lt;/SPAN&gt;i &lt;SPAN style="COLOR: navy"&gt;&amp;lt; &lt;/SPAN&gt;diamonds&lt;SPAN style="COLOR: navy"&gt;.&lt;/SPAN&gt;size&lt;SPAN style="COLOR: navy"&gt;(); &lt;/SPAN&gt;i&lt;SPAN style="COLOR: navy"&gt;++)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;int &lt;/SPAN&gt;v&lt;SPAN style="COLOR: navy"&gt;, &lt;/SPAN&gt;t&lt;SPAN style="COLOR: navy"&gt;, &lt;/SPAN&gt;r&lt;SPAN style="COLOR: navy"&gt;;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;stringstream ss&lt;SPAN style="COLOR: navy"&gt;;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;ss &lt;SPAN style="COLOR: navy"&gt;&amp;lt;&amp;lt; &lt;/SPAN&gt;diamonds&lt;SPAN style="COLOR: navy"&gt;[&lt;/SPAN&gt;i&lt;SPAN style="COLOR: navy"&gt;];&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;ss &lt;SPAN style="COLOR: navy"&gt;&amp;gt;&amp;gt; &lt;/SPAN&gt;v &lt;SPAN style="COLOR: navy"&gt;&amp;gt;&amp;gt; &lt;/SPAN&gt;t &lt;SPAN style="COLOR: navy"&gt;&amp;gt;&amp;gt; &lt;/SPAN&gt;r&lt;SPAN style="COLOR: navy"&gt;;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;dv&lt;SPAN style="COLOR: navy"&gt;.&lt;/SPAN&gt;push_back&lt;SPAN style="COLOR: navy"&gt;(&lt;/SPAN&gt;v&lt;SPAN style="COLOR: navy"&gt;);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;dt&lt;SPAN style="COLOR: navy"&gt;.&lt;/SPAN&gt;push_back&lt;SPAN style="COLOR: navy"&gt;(&lt;/SPAN&gt;t&lt;SPAN style="COLOR: navy"&gt;);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;dr&lt;SPAN style="COLOR: navy"&gt;.&lt;/SPAN&gt;push_back&lt;SPAN style="COLOR: navy"&gt;(&lt;/SPAN&gt;r&lt;SPAN style="COLOR: navy"&gt;);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;int &lt;/SPAN&gt;i &lt;SPAN style="COLOR: navy"&gt;= &lt;/SPAN&gt;&lt;SPAN style="COLOR: purple"&gt;0&lt;/SPAN&gt;&lt;SPAN style="COLOR: navy"&gt;;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;do&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: navy"&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;int &lt;/SPAN&gt;md &lt;SPAN style="COLOR: navy"&gt;= -&lt;/SPAN&gt;&lt;SPAN style="COLOR: purple"&gt;1&lt;/SPAN&gt;&lt;SPAN style="COLOR: navy"&gt;;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;for &lt;/SPAN&gt;&lt;SPAN style="COLOR: navy"&gt;(; &lt;/SPAN&gt;md &lt;SPAN style="COLOR: navy"&gt;&amp;lt; (&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;int&lt;/SPAN&gt;&lt;SPAN style="COLOR: navy"&gt;)&lt;/SPAN&gt;doors&lt;SPAN style="COLOR: navy"&gt;.&lt;/SPAN&gt;size&lt;SPAN style="COLOR: navy"&gt;() - &lt;/SPAN&gt;&lt;SPAN style="COLOR: purple"&gt;1&lt;/SPAN&gt;&lt;SPAN style="COLOR: navy"&gt;; &lt;/SPAN&gt;md&lt;SPAN style="COLOR: navy"&gt;++)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;if &lt;/SPAN&gt;&lt;SPAN style="COLOR: navy"&gt;(&lt;/SPAN&gt;i &lt;SPAN style="COLOR: navy"&gt;&amp;gt;= &lt;/SPAN&gt;doors&lt;SPAN style="COLOR: navy"&gt;[&lt;/SPAN&gt;md &lt;SPAN style="COLOR: navy"&gt;+ &lt;/SPAN&gt;&lt;SPAN style="COLOR: purple"&gt;1&lt;/SPAN&gt;&lt;SPAN style="COLOR: navy"&gt;])&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;break&lt;/SPAN&gt;&lt;SPAN style="COLOR: navy"&gt;;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;maxdoor&lt;SPAN style="COLOR: navy"&gt;.&lt;/SPAN&gt;push_back&lt;SPAN style="COLOR: navy"&gt;(&lt;/SPAN&gt;md&lt;SPAN style="COLOR: navy"&gt;);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;cache&lt;SPAN style="COLOR: navy"&gt;.&lt;/SPAN&gt;push_back&lt;SPAN style="COLOR: navy"&gt;(-&lt;/SPAN&gt;&lt;SPAN style="COLOR: purple"&gt;1&lt;/SPAN&gt;&lt;SPAN style="COLOR: navy"&gt;);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;while &lt;/SPAN&gt;&lt;SPAN style="COLOR: navy"&gt;(&lt;/SPAN&gt;maxdoor&lt;SPAN style="COLOR: navy"&gt;[&lt;/SPAN&gt;i&lt;SPAN style="COLOR: navy"&gt;++] != -&lt;/SPAN&gt;&lt;SPAN style="COLOR: purple"&gt;1&lt;/SPAN&gt;&lt;SPAN style="COLOR: navy"&gt;);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;solve&lt;SPAN style="COLOR: navy"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: purple"&gt;0&lt;/SPAN&gt;&lt;SPAN style="COLOR: navy"&gt;);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;return &lt;/SPAN&gt;cache&lt;SPAN style="COLOR: navy"&gt;[&lt;/SPAN&gt;&lt;SPAN style="COLOR: purple"&gt;0&lt;/SPAN&gt;&lt;SPAN style="COLOR: navy"&gt;];&lt;BR&gt;}&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;void &lt;/SPAN&gt;solve&lt;SPAN style="COLOR: navy"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;int &lt;/SPAN&gt;t&lt;SPAN style="COLOR: navy"&gt;)&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;if &lt;/SPAN&gt;&lt;SPAN style="COLOR: navy"&gt;(&lt;/SPAN&gt;cache&lt;SPAN style="COLOR: navy"&gt;[&lt;/SPAN&gt;t&lt;SPAN style="COLOR: navy"&gt;] != -&lt;/SPAN&gt;&lt;SPAN style="COLOR: purple"&gt;1&lt;/SPAN&gt;&lt;SPAN style="COLOR: navy"&gt;)&lt;BR&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: blue"&gt;return&lt;/SPAN&gt;&lt;SPAN style="COLOR: navy"&gt;;&lt;BR&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; vector &lt;SPAN style="COLOR: navy"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;int&lt;/SPAN&gt;&lt;SPAN style="COLOR: navy"&gt;&amp;gt; &lt;/SPAN&gt;res&lt;SPAN style="COLOR: navy"&gt;;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;for &lt;/SPAN&gt;&lt;SPAN style="COLOR: navy"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;int &lt;/SPAN&gt;i &lt;SPAN style="COLOR: navy"&gt;= &lt;/SPAN&gt;&lt;SPAN style="COLOR: purple"&gt;0&lt;/SPAN&gt;&lt;SPAN style="COLOR: navy"&gt;; &lt;/SPAN&gt;i &lt;SPAN style="COLOR: navy"&gt;&amp;lt; &lt;/SPAN&gt;dv&lt;SPAN style="COLOR: navy"&gt;.&lt;/SPAN&gt;size&lt;SPAN style="COLOR: navy"&gt;(); &lt;/SPAN&gt;i&lt;SPAN style="COLOR: navy"&gt;++)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;if &lt;/SPAN&gt;&lt;SPAN style="COLOR: navy"&gt;(&lt;/SPAN&gt;t &lt;SPAN style="COLOR: navy"&gt;+ &lt;/SPAN&gt;dt&lt;SPAN style="COLOR: navy"&gt;[&lt;/SPAN&gt;i&lt;SPAN style="COLOR: navy"&gt;] &amp;lt; &lt;/SPAN&gt;maxdoor&lt;SPAN style="COLOR: navy"&gt;.&lt;/SPAN&gt;size&lt;SPAN style="COLOR: navy"&gt;())&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;if &lt;/SPAN&gt;&lt;SPAN style="COLOR: navy"&gt;(&lt;/SPAN&gt;dr&lt;SPAN style="COLOR: navy"&gt;[&lt;/SPAN&gt;i&lt;SPAN style="COLOR: navy"&gt;] - &lt;/SPAN&gt;&lt;SPAN style="COLOR: purple"&gt;1 &lt;/SPAN&gt;&lt;SPAN style="COLOR: navy"&gt;&amp;lt;= &lt;/SPAN&gt;maxdoor&lt;SPAN style="COLOR: navy"&gt;[&lt;/SPAN&gt;t &lt;SPAN style="COLOR: navy"&gt;+ &lt;/SPAN&gt;dt&lt;SPAN style="COLOR: navy"&gt;[&lt;/SPAN&gt;i&lt;SPAN style="COLOR: navy"&gt;]])&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;solve&lt;SPAN style="COLOR: navy"&gt;(&lt;/SPAN&gt;t &lt;SPAN style="COLOR: navy"&gt;+ &lt;/SPAN&gt;dt&lt;SPAN style="COLOR: navy"&gt;[&lt;/SPAN&gt;i&lt;SPAN style="COLOR: navy"&gt;]);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;res&lt;SPAN style="COLOR: navy"&gt;.&lt;/SPAN&gt;push_back&lt;SPAN style="COLOR: navy"&gt;(&lt;/SPAN&gt;cache&lt;SPAN style="COLOR: navy"&gt;[&lt;/SPAN&gt;t &lt;SPAN style="COLOR: navy"&gt;+ &lt;/SPAN&gt;dt&lt;SPAN style="COLOR: navy"&gt;[&lt;/SPAN&gt;i&lt;SPAN style="COLOR: navy"&gt;]] + &lt;/SPAN&gt;dv&lt;SPAN style="COLOR: navy"&gt;[&lt;/SPAN&gt;i&lt;SPAN style="COLOR: navy"&gt;]);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;int &lt;/SPAN&gt;max &lt;SPAN style="COLOR: navy"&gt;= &lt;/SPAN&gt;&lt;SPAN style="COLOR: purple"&gt;0&lt;/SPAN&gt;&lt;SPAN style="COLOR: navy"&gt;;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;for &lt;/SPAN&gt;&lt;SPAN style="COLOR: navy"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;int &lt;/SPAN&gt;i &lt;SPAN style="COLOR: navy"&gt;= &lt;/SPAN&gt;&lt;SPAN style="COLOR: purple"&gt;0&lt;/SPAN&gt;&lt;SPAN style="COLOR: navy"&gt;; &lt;/SPAN&gt;i &lt;SPAN style="COLOR: navy"&gt;&amp;lt; &lt;/SPAN&gt;res&lt;SPAN style="COLOR: navy"&gt;.&lt;/SPAN&gt;size&lt;SPAN style="COLOR: navy"&gt;(); &lt;/SPAN&gt;i&lt;SPAN style="COLOR: navy"&gt;++)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;if &lt;/SPAN&gt;&lt;SPAN style="COLOR: navy"&gt;(&lt;/SPAN&gt;res&lt;SPAN style="COLOR: navy"&gt;[&lt;/SPAN&gt;i&lt;SPAN style="COLOR: navy"&gt;] &amp;gt; &lt;/SPAN&gt;max&lt;SPAN style="COLOR: navy"&gt;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;max &lt;SPAN style="COLOR: navy"&gt;= &lt;/SPAN&gt;res&lt;SPAN style="COLOR: navy"&gt;[&lt;/SPAN&gt;i&lt;SPAN style="COLOR: navy"&gt;];&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;cache&lt;SPAN style="COLOR: navy"&gt;[&lt;/SPAN&gt;t&lt;SPAN style="COLOR: navy"&gt;] = &lt;/SPAN&gt;max&lt;SPAN style="COLOR: navy"&gt;;&lt;BR&gt;}&lt;BR&gt;};&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="COLOR: black"&gt;The third problem was sort of a downer.&amp;nbsp; You can view it &lt;A href="http://www.topcoder.com/stat?c=problem_statement&amp;amp;pm=6094&amp;amp;rd=9816"&gt;here&lt;/A&gt;.&amp;nbsp; I didn't get this problem and I still haven't been able to get it to work.&amp;nbsp; I had to read the analysis of this problem after it was posted to figure out how you were supposed to do it.&amp;nbsp; This problem statement is pretty long so I'll leave out a summary of it.&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="COLOR: black"&gt;This problem was supposed to be done by a simple simulation.&amp;nbsp; Obviously you can get into an infinite loop of &amp;#8220;W&amp;#8220;s that would cause a problem.&amp;nbsp; Another rule of top coder is that when you are returning double values you can be off by (absolutely or relatively) 1e-9.&amp;nbsp; So the idea in this problem was just to simulate the problem until the results of the function call become so insignificant (by running into a lot of &amp;#8220;W&amp;#8221;s) that you don't have to go any further in the simulation.&amp;nbsp; I tried to implement this idea but I couldn't get it working on all of the test cases.&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;img src ="http://blogs.vbcity.com/msg555/aggbug/5944.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>