Submission

Status:

[PPPPPPPPPPPPPPP]

Subtask/Task Score:

{100/100}

Score: 100

User: Nay-O

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

Language: cpp

Time: 0.073 second

Submitted On: 2026-01-03 14:24:17

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

int main(){
	ios_base::sync_with_stdio(false); cin.tie(NULL);
	
	int n, m; cin >> n >> m;
	int arr[n+5][m+5];
	
	for(int i = 1; i <= n; i++){
		for(int j = 1; j <=m; j++){
			cin >> arr[i][j];
		}
	}
	
	vector<vector<int>> dp(n+5, vector<int>(m+5, INT_MAX));
	
	dp[n+1][m] = dp[n][m+1] = 1;
	
	for(int i = n; i > 0; i--){
		for(int j = m; j> 0; j--){
			dp[i][j] = min(dp[i+1][j],dp[i][j+1])-arr[i][j];
			if(dp[i][j]<=0){
				dp[i][j] = 1;
			}
		}
	}
	
	cout << dp[1][1];
	
	return 0;
}