Submission #677452

#TimeUsernameProblemLanguageResultExecution timeMemory
677452LucaLucaMMaxcomp (info1cup18_maxcomp)C++17
15 / 100
4 ms4180 KiB
#include <bits/stdc++.h> using namespace std; int a[1001][1001]; int dp[1001][1001]; /// dp[n][m] = minim - d pana la (n, m) (dp[n][m] = minim) int main() { ios_base::sync_with_stdio(false); cin.tie(0); int n, m; cin >> n >> m; for (int i=1; i<=n; i++) { for (int j=1; j<=m; j++) cin >> a[i][j]; } int ans = -1; for (int rep=0; rep<4; rep++) { for (int i=1; i<=n; i++) { for (int j=1; j<=m; j++) { dp[i][j] = a[i][j] + 1; if (i > 1) { dp[i][j] = min(dp[i][j], dp[i-1][j]+1); dp[i][j] = min(dp[i][j], a[i-1][j] +2); } if (j > 1) { dp[i][j] = min(dp[i][j], dp[i][j-1]+1); dp[i][j] = min(dp[i][j], a[i][j-1]+2); } ans = max(ans, a[i][j] - dp[i][j]); } } /// rotate matrix a for (int i=1; i<=n; i++) { reverse(a+1, a+m+1); } for (int i=1; i<=n; i++) { for (int j=i; j<=m; j++) swap(a[i][j], a[j][i]); } } cout << ans; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...