Submission #413894

#TimeUsernameProblemLanguageResultExecution timeMemory
413894600MihneaCultivation (JOI17_cultivation)C++17
5 / 100
2092 ms1316 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; int n, m, cnt; struct point { int x; int y; }; bool operator < (point a, point b) { if (a.x != b.x) return a.x < b.x; return a.y < b.y; } bool valid(point a) { return 1 <= a.x && a.x <= n && 1 <= a.y && a.y <= m; } const int N = 300 + 7; point pt[N]; int sol = (int) 2e9 + 7; signed main() { ios::sync_with_stdio(0); cin.tie(0); ///freopen ("input", "r", stdin); cin >> n >> m >> cnt; for (int i = 1; i <= cnt; i++) { cin >> pt[i].x >> pt[i].y; } for (int a = 0; a <= n; a++) { for (int b = 0; b <= n; b++) { for (int c = 0; c <= m; c++) { for (int d = 0; d <= m; d++) { set<point> s; for (int i = 1; i <= cnt; i++) { for (int ff = pt[i].x - a; ff <= pt[i].x + b; ff++) { for (int ss = pt[i].y - c; ss <= pt[i].y + d; ss++) { if (valid({ff, ss})) { s.insert({ff, ss}); } } } } if ((int) s.size() == n * m) { sol = min(sol, a + b + c + d); } } } } } cout << sol << "\n"; 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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...