코딩테스트/백준
[골4] 2110 - 공유기 설치
ShovelingLife
2023. 10. 5. 21:18
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
vector<int> v;
int main()
{
int n, c;
cin >> n >> c;
v.resize(n);
for (int i = 0; i < n; i++)
cin >> v[i];
sort(v.begin(), v.end());
int l = 1, r = v[n - 1];
int res = 0;
while (l <= r)
{
int cnt = 1;
int mid = (l + r) / 2;
int s = v[0];
// 공유기 설치
for (int i = 0; i < n; i++)
{
int e = v[i] - s;
if (mid <= e)
{
cnt++;
s = v[i];
}
}
if (cnt >= c)
{
l = mid + 1;
res = mid;
}
else
r = mid - 1;
}
cout << res;
}