#include <bits/stdc++.h>
using namespace std;
using ll = long long;
vector<ll> mosaic(vector<int> X, vector<int> Y,vector<int> T, vector<int> B,vector<int> L, vector<int> R){
ll n = X.size();
ll row[3][200005];
ll column[3][200005];
for (int i=0; i<n; i++){row[0][i]=X[i];}
for (int i=0; i<n; i++){column[0][i]=Y[i];}
if (n>1){
row[1][0]=column[0][1];
column[1][0]=row[0][1];
for (int i=1; i<n; i++){row[1][i]=1-(row[1][i-1] | row[0][i]);}
for (int i=1; i<n; i++){column[1][i]=1-(column[1][i-1] | column[0][i]);}
}
if (n>2){
row[2][0]=column[0][2];
column[2][0]=row[0][2];
for (int i=1; i<n; i++){row[2][i]=1-(row[2][i-1] | row[1][i]);}
for (int i=1; i<n; i++){column[2][i]=1-(column[2][i-1] | column[1][i]);}
}
ll q = T.size();
vector <ll> ans;
ll t,b,l,r;
for (int i=0; i<q; i++){
t=T[i];
b=B[i];
l=L[i];
r=R[i];
if (t<=2){
ans.push_back(row[t][l]);
}
else if (l<=2){
ans.push_back(column[l][t]);
}
else{
if (l>=t){
ans.push_back(row[2][l-t+2]);
}
else{
ans.push_back(column[2][t-l+2]);
}
}
}
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... |