Submission #1226492

#TimeUsernameProblemLanguageResultExecution timeMemory
1226492PenguinsAreCuteCultivation (JOI17_cultivation)C++17
5 / 100
2092 ms327680 KiB
#include <bits/stdc++.h> using namespace std; int main() { int n, x0, y0; cin >> x0 >> y0 >> n; int a[n], b[n]; for(int i=0;i<n;i++) { cin >> a[i] >> b[i]; a[i]--; b[i]--; } int ans = 2e9; for(int west=0;west<x0;west++) for(int east=0;east<x0;east++) for(int north=0;north<y0;north++) for(int south=0;south<y0;south++) { int gr[x0+1][y0+1]; memset(gr,0,sizeof(gr)); for(int i=0;i<n;i++) { gr[max(a[i]-west,0)][max(b[i]-south,0)]++; gr[max(a[i]-west,0)][min(b[i]+north+1,y0)]--; gr[min(a[i]+east+1,x0)][max(b[i]-south,0)]--; gr[min(a[i]+east+1,x0)][min(b[i]+north+1,y0)]++; } for(int i=0;i<x0;i++) for(int j=0;j<y0-1;j++) gr[i][j+1]+=gr[i][j]; for(int i=0;i<x0-1;i++) for(int j=0;j<y0;j++) gr[i+1][j]+=gr[i][j]; bool val = 1; for(int i=0;i<x0;i++) for(int j=0;j<y0;j++) if(!gr[i][j]) val = 0; if(val) ans = min(ans, north+south+east+west); } 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...