📄 2485668_ac_77ms_512k.cpp
字号:
#include <stdio.h>
#include <algorithm>
using namespace std;
int a[100001];
int n, c;
int main()
{
int i, j, no;
int min, max, mid;
scanf("%d%d",&n,&c);
for(i = 0; i < n; i++)
scanf("%d",&a[i]);
sort(a,a+n);
min = a[0],max = (a[n-1]-a[0])/(c-1);
while(min<max)
{
mid = (min+max)/2;
no = 0;
for(i = 0; i < n; i++)
{
j = i;
while(j<n&&a[j]<a[i]+mid)
j++;
if(j!=n)
no++;
if(no>c)
break;
i = j-1;
}
no++;
if(no<c)
max = mid;
else
{
if(min==mid)
break;
min = mid+(min==mid);
}
}
printf("%d\n",min);
return 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -