K12484 银行排队(bank)

题目描述

K个人来银行排队办理业务,银行有n个窗口可以同时办理,每个窗口允许有m个人排队,其余的人在银行大厅等待。当某个窗口排队人数少于m时,在大厅等待的人可进入该窗口排队。每个人都有自己要办的业务,每个业务要花费一定的时间,银行的上班时间是早上8点到下午17点,若开始办理业务的时间大于等于17点,就无法办理相关的业务了。

有q次查询,查询q个顾客办理业务结束时的时间。对于无法办理相关业务的查询,输出sorry。

假设第一位顾客从早上8点开始办理业务,k个顾客编号依次为: 1、2…k。 

输入格式

共3行:

第一行4个由空格分隔的正整数,分别表示n,m,k,q

第二行为k个由空格分隔的正整数,分别表示每个人办理业务所需时间

第三行为q个由空格分隔的正整数,分别表示每次查询时要查询的顾客编号

输出格式

共q行,对应每次查询的结果,每个结果的格式为: hh:mm

输入输出样例

输入样例1:复制

  
2 2 7 5 1 2 6 4 3 534 2 3 4 5 6 7
输出样例1:复制

  
08:07 08:06 08:10 17:00 sorry 

说明

该银行共有两个窗口,每个窗口可同时供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。 

【耗时限制】1000ms 【内存限制】128MB

AC代码:

#include<bits/stdc++.h>
using namespace std;
int t[110],te[110];
queue<int>b[20];
int main(){
	int n,m,k,q,c=0;
	cin>>n>>m>>k>>q;
	int end;
	for(int i=1;i<=min(n*m,k);i++){
		cin>>t[i];
		c++;
		if(c>n){
			c=1;
		}
		if(b[c].empty()){
			end=8*60+t[i];
		}
		else{
			end=b[c].back()+t[i];
		}
		b[c].push(end);
		te[i]=end;
	}
	for(int i=n*m+1;i<=k;i++){
		cin>>t[i];
		int minn=0x3f3f3f3f,id;
		for(int j=1;j<=n;j++){
			if(b[j].front()<minn){
				minn=b[j].front();
				id=j;
			}
		}
		end=b[id].back()+t[i];
		b[id].push(end);
		b[id].pop();
		te[i]=end;
	}
	int x;
	while(q--){
		cin>>x;
		end=te[x];
		if(end-t[x]>=17*60){
			cout<<"sorry\n";
		}
		else{
			printf("%02d:%02d\n",end/60,end%60);
		}
	}
	return  0;
}

相关推荐

  1. K12484 银行排队(bank)

    2023-12-12 15:28:02       61 阅读
  2. C++ 之emplace_back 和 push_back

    2023-12-12 15:28:02       35 阅读
  3. k8s排错指南

    2023-12-12 15:28:02       30 阅读
  4. leetcode - 1248. Count Number of Nice Subarrays

    2023-12-12 15:28:02       36 阅读
  5. 力扣1248.统计优美子数组

    2023-12-12 15:28:02       27 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-12 15:28:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-12 15:28:02       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-12 15:28:02       82 阅读
  4. Python语言-面向对象

    2023-12-12 15:28:02       91 阅读

热门阅读

  1. 飞行控制系统软件设计

    2023-12-12 15:28:02       57 阅读
  2. 一篇文章让你读懂Jenkins的用途

    2023-12-12 15:28:02       53 阅读
  3. 【后端】系统设计类题目汇总五

    2023-12-12 15:28:02       53 阅读
  4. rsyslog配置以及原理

    2023-12-12 15:28:02       51 阅读
  5. 【Kotlin】标准函数:let、with、run、apply

    2023-12-12 15:28:02       55 阅读
  6. 【力扣100】56.合并区间

    2023-12-12 15:28:02       70 阅读
  7. 1319:【例6.1】排队接水

    2023-12-12 15:28:02       59 阅读
  8. 《微信小程序开发从入门到实战》学习四十八

    2023-12-12 15:28:02       58 阅读