#include "mosaic.h"
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using pii = pair<int, int>;
const int N = 2e5 + 5;
int H[4][N], V[N][4];
int get(int r, int c) {
if(r < 3) return H[r][c];
if(c < 3) return V[r][c];
if(r <= c) return H[3][c-r+3];
return V[r-c+3][3];
}
vector<ll> mosaic(vector<int> x, vector<int> y, vector<int> t, vector<int> b, vector<int> l, vector<int> r) {
int n = x.size(), q = t.size();
vector<ll> ans(q);
for(int i=0; i<n; i++) {
H[0][i] = x[i];
V[i][0] = y[i];
}
for(int i=1; i<4; i++)
for(int j=1; j<n; j++)
H[i][j] = (H[i-1][j] + H[i][j-1] == 0);
for(int j=1; j<4; j++)
for(int i=1; i<n; i++)
V[i][j] = (V[i-1][j] + V[i][j-1] == 0);
for(int i=0; i<q; i++)
ans[i] = get(t[i], l[i]);
return ans;
}
# | 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... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |