Submission
Status:
[-SSSSSSSSSSSSSS]
Score: 0
User: devilpoohs
Problemset: อัศวินขี่ม้าขาว
Language: cpp
Time: 0.003 second
Submitted On: 2025-03-30 15:00:23
#include<bits/stdc++.h>
using namespace std;
int n,m;
int maxi=INT_MIN;
void think(int i,int j,int sum,int mini,vector<vector<int>>& ar){
if(i==n-1 and j==m-1){
maxi=max(mini,maxi);
return ;
}
if(i+1<n){
think(i+1,j,sum+ar[i+1][j],min(mini,sum+ar[i+1][j]),ar);
}
if(j+1<m){
think(i,j+1,sum+ar[i][j+1],min(mini,sum+ar[i][j+1]),ar);
}
}
int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cin>>n>>m;
vector<vector<int>> ar(n,vector<int>(m));
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
cin>>ar[i][j];
}
}
think(0,0,ar[0][0],ar[0][0],ar);
cout<<maxi;
}
/*
4 3
-3 -6 -3
2 2 -3
-8-8-8
1 1 1
2 3
-3 -6 -3
2 2 -3
*/