Submission

Status:

[PPPPPPPPPPPPPPP]

Subtask/Task Score:

{100/100}

Score: 100

User: Chawin

Problemset: อัศวินขี่ม้าขาว

Language: cpp

Time: 0.059 second

Submitted On: 2026-03-01 21:10:36

#include<bits/stdc++.h>
using namespace std;

int main(){
    ios_base::sync_with_stdio(0), cin.tie(0);

    int n, m;
    cin >> n >> m;

    vector<vector<int>> a(n+1, vector<int>(m+1));
    for(int i = 1; i <= n; i++){
        for(int j = 1; j <= m; j++){
            cin >> a[i][j];
        }
    }

    const int inf = 1e9+7;
    vector<vector<int>> dp(n+2, vector<int>(m+2, inf));

    dp[n][m+1] = 0;
    dp[n+1][m] = 0;

    for(int i = n; i >= 1; i--){
        for(int j = m; j >= 1; j--){
            dp[i][j] = max(0, min(dp[i+1][j], dp[i][j+1]) - a[i][j]);
        }
    }

    cout << dp[1][1] + 1;

    return 0;
}