#include "mosaic.h"
#include<bits/stdc++.h>
using namespace std;
#define MAXN 200'007
int n;
unordered_map<long long, long long> un;
vector<long long> mosaic(vector<int> X, vector<int> Y, vector<int> T, vector<int> B, vector<int> L, vector<int> R) {
int Q = (int)T.size();
n=(int)X.size();
if (n==1)
{
vector<long long> C(Q, X[0]);
return C;
}
else if (n==2)
{
int tb[2][2];
tb[0][0]=X[0];
tb[0][1]=X[1];
tb[1][0]=Y[1];
if (X[1]==0 && Y[1]==0) tb[1][1]=1;
else tb[1][1]=0;
vector<long long> C(Q,0);
for (int q=0;q<Q;q++)
{
C[q]=0;
for (int w=T[q];w<=B[q];w++)
{
for (int e=L[q];e<=R[q];e++) C[q]+=tb[w][e];
}
}
return C;
}
vector<int> k2(n);
k2[0]=X[1];
for (int q=1;q<n;q++)
{
if (Y[q]==0 && k2[q-1]==0) k2[q]=1;
else k2[q]=0;
if (k2[q]==1)
{
///na q 1 sme
un[q-1]=1;
}
}
vector<int> k3(n);
k3[0]=X[2];
for (int q=1;q<n;q++)
{
if (k2[q]==0 && k3[q-1]==0) k3[q]=1;
else k3[q]=0;
if (k3[q]==1)
{
///na q 2 sme
un[q-2]=1;
}
}
vector<int> r2(n);
r2[0]=Y[1];
for (int q=1;q<n;q++)
{
if (X[q]==0 && r2[q-1]==0) r2[q]=1;
else r2[q]=0;
if (r2[q]==1)
{
///na 1 q sme
un[1-q]=1;
}
}
vector<int> r3(n);
r3[0]=Y[2];
for (int q=1;q<n;q++)
{
if (r2[q]==0 && r3[q-1]==0) r3[q]=1;
else r3[q]=0;
if (r3[q]==1)
{
///na 2 q sme
un[2-q]=1;
}
}
vector<long long> C(Q, 0);
for (int q=0;q<Q;q++)
{
int red=T[q];
int kolona=L[q];
if (red==0)
{
C[q]=X[kolona];
}
else if (kolona==0)
{
C[q]=Y[red];
}
else if (red==1)
{
C[q]=r2[kolona];
}
else if (kolona==1)
{
C[q]=k2[red];
}
else if (un.find(red-kolona)!=un.end()) C[q]=1;
else C[q]=0;
}
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... |