TOPIC
Tempo Limite Excedido
AndreMarasca asked 3 years ago
Olá pessoal, eu to com problema de tempo limite excedido no meu código, eu otimizei tudo que consegui, eu vi que uma pessoa conseguiu resolver em JavaScript.
let buscaBinaria = (arr, A, N) => {
let meio = 0;
let inicio = 0;
let fim = Math.max(...arr);
let area = -1;
let i;
while (Math.abs(A - area) > 0.0001) {
meio = (inicio + fim) / 2;
area = 0;
for (i = 0; i < N; i++) {
if (arr[i] > meio) {
area += arr[i] - meio;
} else {
break;
}
}
if (area > A) {
inicio = meio;
} else if (area < A) {
fim = meio;
}
}
return meio;
};
let line = lines.shift();
while (line !== "0 0") {
line = line.split(" ");
let N = parseInt(line[0]);
let A = parseInt(line[1]);
line = lines
.shift()
.split(" ")
.map((x) => parseInt(x));
let soma = line.reduce((soma, atual) => soma + atual, 0);
if (soma === A) {
console.log(":D");
} else if (soma < A) {
console.log("-.-");
} else {
line.sort((a, b) => b - a);
console.log(buscaBinaria(line, A, N).toFixed(4));
}
line = lines.shift();
}
This topic has not been answered yet. Be the first!