⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 2485668_ac_77ms_512k.cpp

📁 北大大牛代码 1240道题的原代码 超级权威
💻 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 + -