2368233_tle.c

来自「北大大牛代码 1240道题的原代码 超级权威」· C语言 代码 · 共 39 行

C
39
字号
#include <stdio.h>

int a[100001];

int main()
{
	int i, n, m, tmp, h;
	int sum, max, mid;

	scanf("%d%d",&n,&m);
	sum = 0;max = -1;
	for(i = 0; i < n; i++)
	{
		scanf("%d",&a[i]);
		if(a[i]>max)
			max = a[i];
		sum += a[i];
	}
	while(max<sum)
	{
		mid = (max+sum)/2;
		tmp = 0;h = 0;
		for(i = 0; i < n; i++)
		{
			tmp += a[i];
			if(tmp>mid)
			{
				h++;
				tmp = a[i];
			}
		}
		if(h<=m)
			sum = mid;
		else
			max = mid;
	}
	printf("%d\n",max);
	return 1;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?