๐จ ์ฐธ๊ณ ์ฝ๋
์ฝ๋
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);