高级天翼
4468 银行排队(bank)经验值:1200
不许抄袭,一旦发现,直接清空经验!
题目描述 Description
K 个人来银行排队办理业务,银行有 n 个窗口可以同时办理, 每个窗口允许有m 个人排队,其余的人在银行大厅等待。当某个窗口排队人数少于 m 时,在大厅等待的人可进入该窗口排队。每个人都有自己要办的业务,每个业务要花费一定的时间,银行的上班时间是早上 8 点到下午 17 点,若超过 17 点,就无法办理相关的业务了。有 q 次查询,查询 q 个顾客办理业务结束时的时间。对于无法办理相关业务的查询,输出 sorry。假设第一位顾客从早上 8 点开始办理业务,k个顾客编号依次为 1、2…k。
输入描述 Input Description
共 3 行,第一行 4 个由空格分隔的正整数,分别表示 n,m,k,q;
第二行为 k个由空格分隔的正整数,分别表示每个人办理业务所需时间。
第三行为 q个由空格分隔的正整数,分别表示每次查询时要查询的顾客编号。
输出描述 Output Description
共 q 行,对应每次查询的结果,每个结果的格式为 hh:mm。
样例输入 Sample Input
2 2 7 5 1 2 6 4 3 534 2 3 4 5 6 7
样例输出 Sample Output
08:07 08:06 08:10 17:00 sorry
数据范围及提示 Data Size & Hint
样例解释:该银行共有两个窗口,每个窗口可同时供 2 人排队,总共有 7 人需要办理业务,有 5 次询问,分别是编号为 3、4、5、6、7 的顾客结束时间;输出结果显示编号为 3 的顾客在 08:07 分结束,编号为 4 的顾客在 08:06 分结束,编号为 5 的顾客在 08:10 分结束,编号为 6 的顾客在 17:00 分结束,编号为 7 的顾客在开始办理业务前,银行就下班了,所以输出 sorry。
1≤n≤10 1≤m≤5 1≤k,q≤100
补充说明:只要顾客在下班前开始办理业务,那就要将其办理完,因此,查询输
出的结束时间有可能超过 17:00。
------------------------------------------------------------------
请问各位大佬,这一题咋写???
求帮助QAQ
李瑞曦在2020-11-08 19:59:16追加了内容
ding