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