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];
}