제출 #677454

#제출 시각아이디문제언어결과실행 시간메모리
677454LucaLucaMMaxcomp (info1cup18_maxcomp)C++17
0 / 100
3 ms4172 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<=m; i++) { for (int l=1, r=n; l<r; l++, r--) swap(a[l][i], a[r][i]); } 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...