#include <bits/stdc++.h>
using namespace std;
#define int long long
const int N = 2e5+5;
const int K = 205;
int vert[N][K];
int horz[K][N];
vector<long long> mosaic(vector<signed> X, vector<signed> Y, vector<signed> T, vector<signed> B, vector<signed> L, vector<signed> R) {
int n = X.size();
for (int i=0; i<n; i++) horz[1][i+1] = X[i];
for (int i=0; i<n; i++) vert[i+1][1] = Y[i];
for (int i=0; i<min(n, K-1); i++) horz[i+1][1] = Y[i];
for (int i=0; i<min(n, K-1); i++) vert[1][i+1] = X[i];
for (int i=2; i<K; i++) {
for (int j=2; j<=n; j++) {
vert[j][i] = !vert[j-1][i] && !vert[j][i-1];
horz[i][j] = !horz[i-1][j] && !horz[j][j-1];
}
}
vector<int> res((int)T.size(), 0);
for (int q=0; q<T.size(); q++) {
int t = T[q]+1; int b=B[q]+1; int l=L[q]+1; int r=R[q]+1;
for (int i=t; i<=b; i++) {
for (int j=l; j<=r; j++) {
res[q] += vert[i][j];
}
}
}
return res;
}
# | 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... |