Submission #1294997

#TimeUsernameProblemLanguageResultExecution timeMemory
1294997BahaminCultivation (JOI17_cultivation)C++20
30 / 100
2094 ms644 KiB
#include <bits/stdc++.h> using namespace std; template<typename A, typename B> ostream& operator<<(ostream &os, const pair<A, B> &p) { return os << '(' << p.first << ", " << p.second << ')'; } template<typename T_container, typename T = typename enable_if<!is_same<T_container, string>::value, typename T_container::value_type>::type> ostream& operator<<(ostream &os, const T_container &v) { os << '{'; string sep; for (const T &x : v) os << sep << x, sep = ", "; return os << '}'; } #define ll long long #define ld long double #define all(a) (a).begin(), (a).end() #define sui cout.tie(NULL); cin.tie(NULL); ios_base::sync_with_stdio(false) const ll MAX_N = 1e5 + 5; const ll MOD = 1e9 + 7; const ll INF = 2e9; const ld EPS = 1e-9; const ll LOG = 30; void solve() { ll r, c; cin >> r >> c; vector<pair<ll, ll>> al; ll n; cin >> n; for (ll i = 0; i < n; i++) { ll x, y; cin >> x >> y; x--, y--; al.push_back({x, y}); } ll ans = INF; for (ll i = 0; i <= r; i++) { for (ll j = 0; j <= r; j++) { ll cnt0 = 0; ll cnt1 = 0; ll cnt2 = 0; for (ll p = 0; p < r; p++) { vector<ll> al1; for (ll pp = 0; pp < n; pp++) { if (al[pp].first <= p) { if (al[pp].first >= p - i) al1.push_back(al[pp].second); } else { if (al[pp].first <= p + j) al1.push_back(al[pp].second); } } if (al1.empty()) cnt0 = INF; else { sort(all(al1)); cnt1 = max(cnt1, al1[0]); cnt2 = max(cnt2, c - 1 - al1.back()); for (ll pp = 0; pp < al1.size() - 1; pp++) cnt0 = max(cnt0, al1[pp + 1] - al1[pp] - 1); } } ans = min(ans, i + j + max(cnt0, cnt1 + cnt2)); } } cout << ans << "\n"; } int main() { sui; ll tc = 1; //cin >> tc; for (ll t = 1; t <= tc; t++) { solve(); } }
#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...