最佳植树距离

#include <iostream>

#include <algorithm>

#include <vector>

using namespace std;

int minSpace(vector<int>& holes, int target)

{

sort(holes.begin(), holes.end());

int left = 0;

int right = holes.back() - holes.front();

int answer = -1;

while (left <= right)

{

int mid = left + (right - left) / 2;

int count = 1;

int previous = holes[0];

for (int i = 1; i < holes.size(); i++)

{

if (holes[i] - previous >= mid)

{

count++;

previous = holes[i];

if (count >= target)

{

answer = mid;

left = mid + 1;

break;

}

}

}

if (count < target)

{

right = mid - 1;

}

}

return answer;

}

int main()

{

int n;

cin >> n;

vector<int> holes(n);

for (int i = 0; i < n; i++)

{

cin >> holes[i];

}

int target;

cin >> target;

int result = minSpace(holes, target);

cout << result << endl;

return 0;

}

相关推荐
ChiaWei Lee14 分钟前
【C++初学】C++核心编程(一):内存管理和引用
c++
做一个优雅的美男子18 分钟前
【力扣05】最长回文子串
算法·leetcode·职场和发展
刃神太酷啦33 分钟前
基础算法篇(5)(蓝桥杯常考点)—动态规划(C/C++)
数据结构·c++·算法·leetcode·蓝桥杯·动态规划·蓝桥杯c++组
JNU freshman34 分钟前
活动安排问题 之 前缀和与差分
算法
程序员leon36 分钟前
LangManus:开源AI自动化框架,让复杂任务自动化变得触手可及
算法
kchmmd41 分钟前
基于QtC++音乐播放器whisper语音转文字歌词解析
c++·qt
444A4E1 小时前
二叉搜索树完全解析:从理论到C++手把手实现
数据结构·c++
AiJournal1 小时前
《The AI Journal》2025.04.15
算法·github
冲帕Chompa1 小时前
代码随想录动态规划part02
算法·动态规划
yy_xzz2 小时前
从0到1使用C++操作MSXML
xml·c++·msxml