Submission #1036069

#TimeUsernameProblemLanguageResultExecution timeMemory
1036069vjudge1Zemljište (COCI22_zemljiste)C++17
30 / 70
2077 ms4752 KiB
#include <bits/stdc++.h>
using namespace std;

typedef long long ll;

const ll N = 505;
ll n, m, a, b, mat[N][N];

ll f(ll i, ll j, ll x, ll y){
    return mat[x][y] - mat[x][j - 1] - mat[i - 1][y] + mat[i - 1][j - 1];
}

int main(){
    cin >> n >> m >> a >> b;
    ll mn = 1e18;
    for (ll i = 1; i <= n; i ++){
        for (ll j = 1; j <= m; j ++){
            cin >> mat[i][j];
            if (mat[i][j] > b)
                mn = min(mn, mat[i][j]); 

            mat[i][j] += mat[i - 1][j];
            mat[i][j] += mat[i][j - 1];
            mat[i][j] -= mat[i - 1][j - 1];
        }
    }

    ll ans = 1e18;
    for (int i = 1; i <= n; i ++){
        for (int j = 1; j <= m; j ++){
            for (int x = i; x <= n; x ++){
                for (int y = j; y <= m; y ++){
                    ll sm = f(i, j, x, y);
                    ans = min(ans, abs(sm - a) + abs(sm - b));
                }
            }
        }
    }

    cout << ans << endl;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...