#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){
int row1[200005];
int row2[200005];
int column1[200005];
int column2[200005];
ll n = X.size();
for (int i=0; i<n; i++){row1[i]=X[i];}
for (int i=0; i<n; i++){column1[i]=Y[i];}
row2[1] = 1 - (column1[0] | row1[0]);
column2[1] = row2[1];
for (int i=2; i<n; i++){
row2[i]= 1 - (row2[i-1] | row1[i]);
column2[i]= 1 - (column2[i-1] | column1[i]);
}
ll q = T.size();
vector <ll> ans;
ll t,b,l,r;
for (int i=0; i<q; i++){
ll sm=0;
for (int i=0; i<=b-t; i++){
for (int j=0; j<=r-l; j++){
t=T[i]+i;
b=B[i]+i;
l=L[i]+j;
r=R[i]+j;
if (t==0){sm+=(row1[l]);}
else if (l==0){sm+=(column1[t]);}
else{
if (l>=t){
sm+=(row2[l-t+1]);
}
else{
sm+=(column2[t-l+1]);
}
}
}
}
ans.push_back(sm);
}
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... |