1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
--- 4.cpp.new    Fri May 23 15:31:57 2008
+++ 4.cpp.new2    Fri May 23 15:32:13 2008
@@ -72,7 +72,8 @@
         std::vector<std::vector<long> >(max_x,
             std::vector<long>(m + 1, std::numeric_limits<long>::max())));
 
-    dp[0] = std::vector<std::vector<long> >(max_x, std::vector<long>(m + 1, 0));
+    std::vector<std::vector<long> >(max_x,
+        std::vector<long>(m + 1, 0)).swap(dp.front());
 
     REPE(y1, 0, n) REP(x1, 0, max_x) if (slip[y1][x1] >= 0) // source
     {