#iai22b3. 服务大厅(Service Hall)

服务大厅(Service Hall)

服务大厅(Service Hall)

题目描述

nn 位市民在服务大厅门口有序排队办理业务,其中第 ii 位市民办理业务所需时间为 tit_i,当服务大厅开放 mm 个服务窗口时,表示能同时办理 mm 位市民的业务。由于每位市民所办理业务的时间不同,办理完成的市民离开窗口时,当前在等待队列中的第一个市民会前往该窗口继续办理业务。

因服务大厅 TT 分钟后将关闭,请你帮志愿者小爱计算一下,最少需要开放多少个服务窗口,才能使最后办完业务的市民离开服务大厅时间不超过 TT

输入格式

输入共 33 行:

第一行:输入一个正整数 nn

第二行:输入 nn 个正整数 tit_i 表示每位市民办理业务所需的时间。

第三行:输入一个正整数 TT

输出格式

输出共一行,表示满足条件情况下,最少需要开放的窗口数量。

样例输入 #1

5
4 3 6 2 2
10

样例输出 #1

2

样例说明 #1

开放2个窗口:

  • t=0时刻,第1,2位市民前往办理
  • t=3时刻,第2位市民办理完成,第3位市民开始办理
  • t=4时刻,第1位市民办理完成,第4位市民开始办理
  • t=6时刻,第4位市民办理完成,第5位市民开始办理
  • t=8时刻,第5位市民办理完成
  • t=9时刻,第3位市民办理完成,此时所有人办理完成,所需时间为9

数据范围

对于 30% 的数据:1n201 \leq n \leq 201T1001 \leq T \leq 100

对于 60% 的数据:1n2×1031 \leq n \leq 2\times 10^31T1041 \leq T \leq 10^4

对于 100% 的数据:1n2×1041 \leq n \leq 2\times 10^41T1061 \leq T \leq 10^6

且数据保证存在合法解。

知识点与难度

本题涉及的知识点从属于 GESP 5级(二分答案、优先队列模拟),难度等级:⭐⭐


测试点分布

Subtask 分值 测试点编号 说明
0 10 1~2 样例
1 20 3~8 小规模 N≤100 / 特殊: 全同时长 / 特殊: T=单最大值 / 特殊: T=总和
2 15 9~11 Hack: N=1 / Hack: T极紧 / Hack: 递增时长
3 30 12~20 中规模 N≈100~2000 / 大规模 N≈1e4~2e4
4 25 21~25 随机 N=1~2e4 回归