当前位置: 首页 > news >正文

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;
}

http://www.lryc.cn/news/257898.html

相关文章:

  • JAVA实操经验
  • 微信小程序 ios 手机底部安全区适配
  • ReetrantReadWriteLock底层原理
  • LeetCode力扣每日一题(Java):35、搜索插入位置
  • Unity中结构体定义的成员如何显示在窗口中
  • Python3开发环境的搭建
  • Leetcode 2957. Remove Adjacent Almost-Equal Characters
  • 透析跳跃游戏
  • 贵州开放大学形成性考核 平时作业 参考试题
  • Leetcode 2962. Count Subarrays Where Max Element Appears at Least K Times
  • Mybatis XML 配置文件
  • CCF计算机软件能力认证202309-1坐标变换(其一)(C语言)
  • k8s 如何部署Mysql(史上最权威教程)?
  • 红队攻防实战之Redis-RCE集锦
  • 六级翻译之印章
  • PHP数据库操作实例 - 学生信息管理
  • 企业架构LB-服务器的负载均衡之LVS实现
  • Java程序设计基础 - 课程概述
  • 基于SpringBoot+Vue前后端分离的商城管理系统(Java毕业设计)
  • vue3中实现el-tree通过ctrl或shift批量选择节点并高亮展示
  • HarmonyOS 振动效果开发指导
  • 【ACM独立出版、确定的ISBN号】第三届密码学、网络安全和通信技术国际会议(CNSCT 2024)
  • Qt12.8
  • QT使用SQLite 超详细(增删改查、包括对大量数据快速存储和更新)
  • 基于Springboot+mybatis+mysql+jsp招聘网站
  • PHP介绍及安装
  • linux C++监听管道文件方式
  • 【Qt开发流程】之UI风格、预览及QPalette使用
  • 数组实现循环队列(增设队列大小size)
  • [BJDCTF2020]EzPHP 许多的特性