// File joioi.cpp created on 13.10.2025 at 11:38:50
#include <bits/stdc++.h>
using i64 = long long;
#ifdef DEBUG 
    #include "/home/ahmetalp/Desktop/Workplace/debug.h"
#else
    #define debug(...) void(23)
#endif
constexpr int inf = int(1E9);
int main() {
    std::ios::sync_with_stdio(false);
    std::cin.tie(nullptr);
    int N, M;
    std::cin >> N >> M;
    std::vector<std::vector<int>> A(N, std::vector<int>(M));
    for (int i = 0; i < N; ++i) {
        for (int j = 0; j < M; ++j) {
            std::cin >> A[i][j];
        }
    }
    
    int mn = inf, mx = 0;
    for (int i = 0; i < N; ++i) {
        for (int j = 0; j < M; ++j) {
            mn = std::min(mn, A[i][j]);
            mx = std::max(mx, A[i][j]);
        }
    }
    int ans = inf;
    auto solve = [&]() -> void {
        auto check = [&](int mid) -> bool {
            for (int i = 0, j = M; i < N; ++i) {
                int nj = 0;
                while (nj < j && mx - A[i][nj] <= mid) {
                    nj++;
                }
                j = nj;
                for (int k = j; k < M; ++k) {
                    if (A[i][k] - mn > mid) {
                        return false;
                    }
                }
            }
            return true;
        };
        int lo = 0, hi = inf;
        while (lo < hi) {
            int mid = (lo + hi) >> 1;
            if (check(mid)) {
                hi = mid;
            } else {
                lo = mid + 1;
            }
        }
        ans = std::min(ans, lo);
    };
    solve();
    for (int i = 0; i < N / 2; ++i) {
        for (int j = 0; j < M; ++j) {
            std::swap(A[i][j], A[N - 1 - i][j]);
        }
    }
    solve();
    for (int i = 0; i < N; ++i) {
        for (int j = 0; j < M / 2; ++j) {
            std::swap(A[i][j], A[i][M - 1 - j]);
        }
    }
    solve();
    for (int i = 0; i < N / 2; ++i) {
        for (int j = 0; j < M; ++j) {
            std::swap(A[i][j], A[N - 1 - i][j]);
        }
    }
    solve();
    std::cout << ans << '\n';
    return 0;
}
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... |