Submission #1215151

#TimeUsernameProblemLanguageResultExecution timeMemory
1215151byunjaewooCell Automaton (JOI23_cell)C++20
16 / 100
197 ms72788 KiB
#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 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...