#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N=4010;
int n, q, a[N][N], ans[N], dx[4]={-1, 0, 1, 0}, dy[4]={0, 1, 0, -1};
queue<pair<int, int>> que;
signed main() {
ios_base::sync_with_stdio(0); cin.tie(0);
cin>>n>>q;
for(int i=1; i<=n; i++) {
int x, y; cin>>x>>y;
a[x+2000][y+2000]=1, que.push({x+2000, y+2000});
}
while(!que.empty()) {
auto [x, y]=que.front(); que.pop();
ans[a[x][y]]++;
if(a[x][y]==1001) break;
for(int d=0; d<4; d++) {
int ax=x+dx[d], ay=y+dy[d];
if(ax<0 || ax>=N || ay<0 || ay>=N || a[ax][ay]) continue;
a[ax][ay]=a[x][y]+1, que.push({ax, ay});
}
}
while(q--) {
int x; cin>>x;
cout<<ans[x+1]<<"\n";
}
return 0;
}
# | 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... |