Submission
Status:
[PPPPPPPPPPPPPPP]
Subtask/Task Score:
{100/100}
Score: 100
User: KantaponZ
Problemset: อัศวินขี่ม้าขาว
Language: cpp
Time: 0.060 second
Submitted On: 2026-01-21 12:49:40
#include <bits/stdc++.h>
using namespace std;
#define ll long long
int N, M;
ll A[1005][1005];
ll dp[1005][1005];
int main() {
ios_base::sync_with_stdio(0), cin.tie(0);
cin >> N >> M;
for (int i = 1; i <= N; i++) for (int j = 1; j <= M; j++) cin >> A[i][j], dp[i][j] = 1e18;
dp[N][M] = 1;
dp[0][1] = 1e18;
for (int i = N; i >= 1; i--) {
for (int j = M; j >= 1; j--) {
ll x = max(1LL, dp[i][j] - A[i][j]);
dp[i-1][j] = min(dp[i-1][j], x);
dp[i][j-1] = min(dp[i][j-1], x);
}
}
cout << dp[0][1];
}