Submission #677461

# Submission time Handle Problem Language Result Execution time Memory
677461 2023-01-03T11:50:17 Z LucaLucaM Maxcomp (info1cup18_maxcomp) C++17
15 / 100
1 ms 340 KB
#include <bits/stdc++.h>

using namespace std;

int n, m;

int a[1001][1001];
int dp[1001][1001]; /// dp[n][m] = minim - d pana la (n, m) (dp[n][m] = minim)
int b[1001][1001];

void rotire()
{
    int r = 1, c = 1;

    for (int j=m; j>0; j--)
    {
        for (int i=1; i<=n; i++)
            {
                if (c > m)
                    r++, c = 1;
                b[r][c] = a[i][j];
                c++;
            }
    }

    for (int i=1; i<=n; i++)
    {
        for (int j=1; j<=m; j++)
            a[i][j] = b[i][j];
    }
}

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);

    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;
        }

        for (int i=1; i<=n; i++)
        {
            for (int j=1; j<=m; j++)
            {
                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]);
            }
        }

        rotire();
    }


    cout << ans;

    return 0;
}
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 340 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 340 KB Output is correct
2 Correct 1 ms 340 KB Output is correct
3 Correct 1 ms 340 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 340 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 340 KB Output isn't correct
2 Halted 0 ms 0 KB -