社区讨论

灌水区参与者 1已保存回复 0

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
0 条
当前快照
1 份
快照标识符
@m2gxx4tz
此快照首次捕获于
2024/10/20 10:00
去年
此快照最后确认于
2025/11/04 16:45
4 个月前
查看原帖

2.分块

题目描述

给你 n 个非负整数,把它们按顺序分成 m 块,每块长度都是 floor(n/m),(即 n/m 向下取整),这意味着可能会忽略后面多余的一些数。 现在你要从每块中选取一个最大值。并且所有选取的 m 个数的和大于 k。请你找出最小的分块数 m.

输入输出格式

输入格式:

输入包含多组测试数据。 每组测试数据: 第一行包含两个数字 n 和 k,表示 n 个数和限制 k 。 第二行包含 n 个数字 a1,a2,...an。 读到两个 -1 直接结束,不需要进行额外处理。

输出格式:

对于每组测试数据,输出一行表示最小的分块数 m,如果找不到则输出 -1。

输入输出样例

输入样例#1:

11 300 7 100 7 101 100 100 9 100 100 110 110 -1 -1

输出样例#1:

3

补充说明

【数据范围】

对于 40% 的数据, n<=100,k<=1000。 对于 100% 的数据,n<=200000,k<=1e9 ,0<=ai<=1000,数据组数<=10。
时间限制:1s 空间限制:512M

玄关

回复

0 条回复,欢迎继续交流。

正在加载回复...