1 | #include <bits/stdc++.h> |
2 | #define ll long long |
3 | |
4 | using namespace std; |
5 | |
6 | int main() { |
7 | std::ios_base::sync_with_stdio(false); |
8 | cin.tie(0); |
9 | cout.tie(0); |
10 | int n, m; |
11 | cin >> n >> m; |
12 | |
13 | int cost[n + 1][m + 1]; |
14 | |
15 | for (int i = 1; i <= n; ++i) { |
16 | for (int j = 1; j <= m; ++j) { |
17 | cin >> cost[i][j]; |
18 | } |
19 | } |
20 | |
21 | int dp[n + 1][m + 1] = {}; |
22 | dp[1][1] = cost[1][1]; |
23 | for (int i = 2; i <= m; ++i) { |
24 | dp[1][i] = dp[1][i - 1] + cost[1][i]; |
25 | } |
26 | |
27 | for (int i = 2; i <= n; ++i) { |
28 | dp[i][1] = dp[i - 1][1] + cost[i][1]; |
29 | } |
30 | |
31 | for (int i = 2; i <= n; ++i) { |
32 | for (int j = 2; j <= m; ++j) { |
33 | dp[i][j] = min(dp[i - 1][j], dp[i][j - 1]) + cost[i][j]; |
34 | } |
35 | } |
36 | |
37 | cout << dp[n][m]; |
38 | return 0; |
39 | } |
40 | |
41 | |
42 | |
43 | |
44 | |
45 | |