3
* @param {number[][]} artifacts4
* @param {number[][]} dig7
var digArtifacts = function (n, artifacts, dig) {9
const virtualMap = []; // 0 = null, n = artifact_n10
for (let x = 0; x < n; x++) {12
for (let y = 0; y < n; y++) {19
const artifactSize = [];20
for (let artifactIdx in artifacts) {21
let [artY1, artX1, artY2, artX2] = artifacts[artifactIdx];22
artifactSize.push((artX2 + 1 - artX1) * (artY2 + 1 - artY1));23
while (artY1 <= artY2) {24
while (artX1 <= artX2) {25
virtualMap[artY1][artX1] = Number(artifactIdx) + 1;29
artX1 = artifacts[artifactIdx][1];34
for (let digComp of dig) {35
const [digY, digX] = digComp;36
const content = virtualMap[digY][digX];38
artifactSize[content - 1] -= 1;43
return artifactSize.reduce((acc, remainder) => {44
if (remainder === 0) {