Submission #464346

#TimeUsernameProblemLanguageResultExecution timeMemory
464346amunduzbaevT-Covering (eJOI19_covering)C++14
0 / 100
9 ms1484 KiB
#include "bits/stdc++.h" using namespace std; int ch[4][2] = {{0, 1}, {0, -1}, {1, 0}, {-1, 0}}; void solve(){ int n, m; cin>>n>>m; vector<vector<int>> a(n, vector<int>(m)); vector<vector<int>> is(n, vector<int>(m)); for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ cin>>a[i][j]; } } int k; cin>>k; vector<array<int, 2>> cc(k); for(int i=0;i<k;i++){ cin>>cc[i][0]>>cc[i][1]; is[cc[i][0]][cc[i][1]] = 1; } int res = 0; auto check = [&](int i, int j) -> bool{ return (0 <= i && i < n && 0 <= j && j < n); }; for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ if(is[i][j]){ vector<int> cnt; int sum = a[i][j], mn = 1e9; for(int t=0;t<4;t++){ int x = i + ch[t][0], y = j + ch[t][1]; if(!check(x, y)) cnt.push_back(t); else if(is[x][y]) cnt.push_back(t); else sum += a[x][y], mn = min(mn, a[x][y]); } if((int)cnt.size() > 1){ cout<<"NO\n"; return; } if((int)cnt.size() > 0){ res += sum; } else { res += sum - mn; } } } } cout<<res<<"\n"; } signed main(){ ios_base::sync_with_stdio(0); cin.tie(0); int t = 1; //~ cin>>t; while(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...
#Verdict Execution timeMemoryGrader output
Fetching results...