#include <iostream>
#include <vector>
#include <queue>
using namespace std;
using ll=long long;
int main(){
ll n,m,ans=0,k,a,b,cur;
cin>>n>>m;
vector<vector<ll>> v(n,vector<ll>(m));
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
cin>>v[i][j];
}
}
cin>>k;
bool flag=1;
for(int i=0;i<k;i++){
cin>>a>>b;
cur=0;
if((a==0&&b==0)||(a==n-1&&b==m-1))flag=0;
if(a>0&&a<n-1){
if(b<m-1)cur=max(cur,v[a-1][b]+v[a][b]+v[a+1][b]+v[a][b+1]);
if(b>0)cur=max(cur,v[a-1][b]+v[a][b]+v[a+1][b]+v[a][b-1]);
}
if(b>0&&b<m-1){
if(a<n-1)cur=max(cur,v[a][b]+v[a][b-1]+v[a][b+1]+v[a+1][b]);
if(a>0)cur=max(cur,v[a][b]+v[a][b-1]+v[a][b+1]+v[a-1][b]);
}
ans+=cur;
}
if(flag)cout<<ans<<"\n";
else cout<<"NO\n";
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |