Submission #1197491

#TimeUsernameProblemLanguageResultExecution timeMemory
1197491og_matveychick1Cultivation (JOI17_cultivation)C++20
30 / 100
2095 ms452 KiB
#include "bits/stdc++.h"

using namespace std;

typedef long long ll;
typedef pair<ll, ll> pll;
typedef vector<ll> vll;


const ll N = 305;

ll n, r, c, x[N], y[N], ans = 1e18;

signed main() {
    ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
    cin >> r >> c >> n;
    for (ll i = 0; i < n; i++) cin >> x[i] >> y[i], x[i]--, y[i]--;
    for (ll up = 0; up < r; up++) {
        for (ll dn = 0; dn < r; dn++) {
            ll mx = 0, L = 0, R = 0;
            for (ll p = 0; p < r; p++) {
                vll a;
                for (ll i = 0; i < n; i++) if (x[i] - up <= p && x[i] + dn >= p) a.push_back(y[i]);
                sort(a.begin(), a.end());
                if (!a.size()) mx = 1e18;
                else {
                    L = max(L, a[0]), R = max(R, c - a.back() - 1);
                    for (int i = 0; i < a.size() - 1; i++) mx = max(mx, a[i + 1] - a[i] - 1);
                }
            }
            ans = min(ans, max(mx, L + R) + dn + up);
        }
    }
    cout << ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...