제출 #639309

#제출 시각아이디문제언어결과실행 시간메모리
639309LucaLucaMMaxcomp (info1cup18_maxcomp)C++17
60 / 100
1092 ms11944 KiB
#include <bits/stdc++.h>

using namespace std;

struct cell
{
    int x;
    int i, j;
};

bool comp (cell a, cell b)
{
    if (a.x == b.x)
    {
        if (a.i == b.i)
            return a.j < b.j;
        return a.i < b.i;
    }
    return a.x < b.x;
}

cell a[1000001];

int main()
{
    int n, m;
    cin >> n >> m;

    int N = 0;

    for (int i=1; i<=n; i++)
    {
        for (int j=1; j<=m; j++)
        {
            int x;
            cin >> x;

            N++;
            a[N].x = x;
            a[N].i = i, a[N].j = j;
        }
    }

    sort (a+1, a+N+1, comp);

    int ans = -1;

    for (int i=1; i<N; i++)
    {
        for (int j=N; j>i; j--)
        {
            int d = abs(a[i].i - a[j].i) + abs(a[i].j - a[j].j) + 1;
            int s = a[j].x - a[i].x - d;

            ans = max(ans, s);
        }
    }

    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...