Submission
Status:
[PPPPPPPPPPPPPPP]
Subtask/Task Score:
{100/100}
Score: 100
User: Ninstroyer
Problemset: อัศวินขี่ม้าขาว
Language: cpp
Time: 0.058 second
Submitted On: 2026-03-13 15:15:01
#include<bits/stdc++.h>
using namespace std;
const int nx = 1e3+5, inf = 1e9;
int n,m,mat[nx][nx],dp[nx][nx];
int main()
{
ios::sync_with_stdio(false); cin.tie(0);
cin>>n>>m;
for(int i = 1; i <= n; i++) for(int j = 1; j <= m; j++) cin>>mat[i][j];
for(int i = 1; i <= n+1; i++) for(int j = 1; j <= m+1; j++) dp[i][j]=inf;
dp[n+1][m]=dp[n][m+1]=1;
for(int i = n; i >= 1; i--)
{
for(int j = m; j >= 1; j--)
{
int need = min(dp[i+1][j],dp[i][j+1])-mat[i][j];
need = max(need,1);
dp[i][j]=need;
}
}
cout<<dp[1][1];
}