๐ŸŽฒ ๋ฐฑ์ค€ 1477๋ฒˆ ํœด๊ฒŒ์†Œ ์„ธ์šฐ๊ธฐ

Jeongeunยท2024๋…„ 3์›” 10์ผ
0

๋ฐฑ์ค€

๋ชฉ๋ก ๋ณด๊ธฐ
182/187

๐Ÿ“ฃ ๋ฌธ์ œ

๐ŸŽจ ์ฐธ๊ณ  ์ฝ”๋“œ

์ฝ”๋“œ

const fs = require('fs'); 
const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');
const [N, M, L] = input.shift().split(" ").map(Number);
const road = [0];
if (N > 0) {
  road.push(
    ...input[0]
      .split(" ")
      .map(Number)
      .sort((a, b) => a - b)
  );
}
road.push(L);

let left = 0;
let right = L;
while (left <= right) {
  let interval = Math.floor((left + right) / 2);

  let count = 0;
  for (let i = 1; i < N + 2; i++) {
    count += Math.floor((road[i] - road[i - 1] - 1) / interval);
  }
  if (count <= M) right = interval - 1;
  else left = interval + 1;
}

console.log(left);

0๊ฐœ์˜ ๋Œ“๊ธ€