Submission #1318941

#TimeUsernameProblemLanguageResultExecution timeMemory
1318941Jawad_Akbar_JJMaxcomp (info1cup18_maxcomp)C++20
15 / 100
10 ms16232 KiB
#include <iostream> using namespace std; const int N = 1005; int Mx[N][N][4], a[N][N]; int main(){ for (int i=0;i<N;i++){ for (int j=0;j<N;j++) for (int k : {0, 1, 2, 3}) Mx[i][j][k] = -1e9; } int n, m, Ans = 0; cin>>n>>m; for (int i=1;i<=n;i++){ for (int j=1;j<=m;j++) cin>>a[i][j]; } for (int i=1;i<=n;i++){ for (int j=1;j<=m;j++) Mx[i][j][0] = max(a[i][j], max(Mx[i][j-1][0], Mx[i-1][j][0])) - 1; for (int j=m;j>=1;j--) Mx[i][j][1] = max(a[i][j], max(Mx[i][j+1][1], Mx[i-1][j][1])) - 1; } for (int i=n;i>=1;i--){ for (int j=1;j<=m;j++) Mx[i][j][2] = max(a[i][j], max(Mx[i][j-1][2], Mx[i+1][j][2])) - 1; for (int j=m;j>=1;j--) Mx[i][j][3] = max(a[i][j], max(Mx[i][j+1][3], Mx[i+1][j][3])) - 1; } for (int i=1;i<=n;i++){ for (int j=1;j<=m;j++) for (int k : {0, 1, 2, 3}) Ans = max(Ans, Mx[i][j][k] - a[i][j]); } cout<<Ans<<'\n'; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...