#include "mosaic.h"
#include <bits/stdc++.h>
#pragma GCC optimize("O3,unroll-loops")
#pragma GCC target("avx2")
#define int long long
#define pii pair<int,int>
#define vi vector<int>
#define ff first
#define ss second
#define sp << " " <<
#define all(x) x.begin(),x.end()
#define big(x) ((int)(x.size()))
using namespace std;
const int MOD = 1e9+7, LIM = 1e6+1, inf = 2e9;
vi mosaic(vector<int32_t> X, vector<int32_t> Y,
vector<int32_t> T, vector<int32_t> B,
vector<int32_t> L, vector<int32_t> R) {
int N = X.size();
int Q = L.size();
vi ans(Q);
if (N <= 200) {
int table[N][N];
for (int i = 0;i<N;i++) table[0][i] = X[i];
for (int i = 0;i<N;i++) table[i][0] = Y[i];
for (int i=1;i<N;i++) {
for (int j = 1;j<N;j++) {
table[i][j] = (!table[i-1][j] && !table[i][j-1]);
}
}
for (int i = 0;i<Q;i++) {
for (int j = T[i];j<= B[i];j++){
for (int jj = L[i];jj <= R[i];jj++) {
ans[i]+=table[j][jj];
}
}
}
return ans;
}
vector<vi> rows(5);
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... |