#include <bits/stdc++.h>
using namespace std;
vector<long long> mosaic(vector<int> X, vector<int> Y, vector<int> T, vector<int> B, vector<int> L, vector<int> R) {
int Q = T.size();
vector<long long> C(Q);
int N = X.size();
vector<bool> X1(N), X2(N), Y1(N), Y2(N);
if (N != 1) {
X1[0] = Y[1]; Y1[0] = X[1];
for (int i = 1; i < N; i++) {
X1[i] = !(X1[i-1]||X[i]);
Y1[i] = !(Y1[i-1]||Y[i]);
}
if (N != 2) {
X2[0] = Y[2]; Y2[0] = X[2]; X2[1] = Y1[2]; Y2[1] = X1[2];
for (int i = 2; i < N-2; i++) {
X2[i] = !(X2[i-1]||X1[i]);
Y2[i] = !(Y2[i-1]||Y1[i]);
}
}
}
int x, y;
for (int i = 0; i < Q; i++) {
x = T[i]; y = L[i];
if(x==0){C[i]=X[y];}
else if(x==1){C[i]=X1[y];}
else if(y==0){C[i]=Y[x];}
else if(y==1){C[i]=Y1[x];}
else{C[i]=(x<=y?X2[y-x+2]:Y2[x-y+2]);}
}
return C;
}
| # | 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... |