function main(input) { let [N, M, K] = getIntegers(input); let line = input.shift().split(" "); let op = line.shift(); let B = line.map(x => Number(x)); let A = input.map(x => Number(x)); B.sortByIntegers(); let sum = 0; for(let i=0; i 1) { let x = l + Math.floor((r - l) / 2); let val = op == '+' ? B[x]+A : B[x]*A; if(val >= K) { r = x; } else { l = x; } } return r; } //-- functions ------------------------------------ function getIntegers(lines, sep=" ") { return lines.shift().split(sep).map(function(e) { return Number(e); }); } function getBigIntegers(lines, sep=" ") { return lines.shift().split(sep).map(function(e) { return BigInt(e); }); } function getStrings(lines, sep=" ") { return lines.shift().split(sep); } function twoDimenArrayByValue(h, w, value) { const list = new Array(h); for(let i=0; i