//---------------------------------------------------------------
/*---贪心策略+二分+队列
-----将原数组排序,然后每次取k个较小的数合并,将合并的结果保存在一个队列中,继续取出k个数(队列和数组中)...
-----但是会出现一个问题当(n-1)%(k-1)!=0时,这样最后剩下的数个数小于k,这会导致序列非严格递减。于是可以先将
-----前(n-1)%(k-1)+1个数合并结果放入队列中,剩下的恰好可以每次合并k个数
*/
#define _CRT_SECURE_NO_DEPRECATE
#include<iostream>
#include<queue>
#include<algorithm>
#include<string.h>
typedef long long LL;
using namespace std; const int maxn = 100000 + 5;
int a[maxn];
int n, T; bool findK(int k){
queue<LL>q;
LL ans = 0, s = 0;
int r = (n - 1) % (k - 1),p=0;
if (r){
while (p < r + 1) s += a[p++]; ans += s;
q.push(s);
}
while (true){
s = 0;
for (int i = 0; i < k; i++){
if (p < n && (q.empty() || a[p] < q.front())) s += a[p++];
else{
s += q.front();
q.pop();
}
}
ans += s;
if (ans>T)return false;
if (p >= n&&q.empty())break;
q.push(s);
}
return ans <= T;
} int search(int l, int r){
while (l < r){
int k = (l + r) >> 1;
if (findK(k))
r = k;
else l = k + 1;
}
return r;
} int main(){
int t;
scanf("%d", &t);
while (t--){
scanf("%d%d", &n, &T);
for (int i = 0; i < n; i++)scanf("%d", &a[i]); sort(a, a + n); //排序
printf("%d\n", search(2, n));
}
return 0;
}

  

最新文章

  1. Git入门资料汇总
  2. .NET Core RC2发布在即,我们试着用记事本编写一个ASP.NET Core RC2 MVC程序
  3. Linux指令
  4. a computer-centered view of information systems to a database-centered view
  5. ADF_Database Develop系列2_通过UML数据库开发之将Logical UML转为Physical Models
  6. Acitivity间数据的传递
  7. ZooKeeper场景实践:(2)集中式配置管理
  8. Replace Pioneer
  9. Android查缺补漏(IPC篇)-- 进程间通讯之Socket简介及示例
  10. Luogu4495 [HAOI2018] 奇怪的背包 【扩展欧几里得算法】
  11. Docker概述
  12. tensorflow的简单操作
  13. win10下安装ubantu
  14. HTML5从入门到精通(明日科技) 中文pdf扫描版
  15. 工作中 sql 整理(一)
  16. numpy 初识(一)
  17. 不常用的容易忘记常见mysql操作数据表命令
  18. UWP 轨道视图Orbit View
  19. Linux基础-yum软件包管理
  20. 工作总结 MVC 验证 [Required] 必填 与 string 小知识

热门文章

  1. macOS Mojave 深色模式
  2. Spring 事件机制
  3. hdu 1172 猜数字
  4. [CF999E]Reachability from the Capital
  5. CENTOS6.5 安装 mysql5.6 以及搭建双主
  6. 通过RHN网站给RHEL打补丁
  7. RHEL退出RHN
  8. 自定义View Draw过程(4)
  9. visual studio 2005 win7 64位版下载
  10. django中的类视图