Weight of the Least Weighted RoD Path
J, 42 bytes

v(+}.&lt;.}:)&amp;.&gt;/@{.[:&lt;/.(2#v=._1+1#.$){.!._]


Try it online!

How it works

v(+}.&lt;.}:)&amp;.&gt;/@{.[:&lt;/.(2#v=._1+1#.$){.!._]
                         v=._1+1#.$         Sum of two dimensions - 1; assign to v
                                            (v is a verb)
                      (2#          ){.!._]  Extend the given array in both dimensions
                 [:&lt;/.  Extract the antidiagonals as boxed arrays
v             @{.  Take the first `v` antidiagonals
 (       )&amp;.&gt;/     Reduce over unboxed items:
   }.&lt;.}:            Given the right item R, take the minimum of R[1:] and R[:-1]
  +                  Add to the left item


Illustration

1 2 3 4  Input array, dimensions = 3,4
5 1 6 7
8 2 1 1

1 2 3 4 _ _  Extended to 6,6 with filler _ (infinity)
5 1 6 7 _ _
8 2 1 1 _ _
_ _ _ _ _ _
_ _ _ _ _ _
_ _ _ _ _ _

1            Diagonalize and take first 6 rows
5 2
8 1 3
_ 2 6 4
_ _ 1 7 _
_ _ _ 1 _ _

Reduction: left+min(right[1:], right[:-1])
1                                          1  =&gt; 8
5 2                               5  2  =&gt; 10 7
8 1 3                   8 1 3  =&gt; 12 5 11
_ 2 6 4      _ 2 6 4 =&gt; _ 4 8 12
_ _ 1 7 _ =&gt; _ _ 2 8 _
_ _ _ 1 _ _