#include "mosaic.h"
#include<bits/stdc++.h>
#define ll long long
#define exoworldgd cin.tie(0)->sync_with_stdio(0),cout.tie(0)
using namespace std;
vector<ll>mosaic(vector<int>X,vector<int>Y,vector<int>T,vector<int>B,vector<int>L,vector<int>R){
int n=X.size();
vector<vector<int>>g(n,vector<int>(n));
for(int i=0;i<n;i++)g[0][i]=X[i],g[i][0]=Y[i];
for(int i=1;i<n;i++)for(int j=1;j<n;j++)g[i][j]=!(g[i-1][j]|g[i][j-1]);
for(int i=0;i<n;i++)for(int j=0;j<n;j++)g[i][j]+=(i?g[i-1][j]:0)+(j?g[i][j-1]:0)-(i&&j?g[i-1][j-1]:0);
vector<ll>ans;
for(int i=0,t,b,l,r,cnt;i<T.size();i++)t=T[i],b=B[i],l=L[i],r=R[i],cnt=g[b][r]-(t?g[t-1][r]:0)-(l?g[b][l-1]:0)+(t&&l?g[t-1][l-1]:0),ans.push_back(cnt);
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... |