1017 Queueing at Bank

news2025/4/3 6:26:37

1017 Queueing at Bank
分数 25

全屏浏览

切换布局
作者 CHEN, Yue
单位 浙江大学
Suppose a bank has K windows open for service. There is a yellow line in front of the windows which devides the waiting area into two parts. All the customers have to wait in line behind the yellow line, until it is his/her turn to be served and there is a window available. It is assumed that no window can be occupied by a single customer for more than 1 hour.

Now given the arriving time T and the processing time P of each customer, you are supposed to tell the average waiting time of all the customers.

Input Specification:
Each input file contains one test case. For each case, the first line contains 2 numbers: N (≤10 
4 ) - the total number of customers, and K (≤100) - the number of windows. Then N lines follow, each contains 2 times: HH:MM:SS - the arriving time, and P - the processing time in minutes of a customer. Here HH is in the range [00, 23], MM and SS are both in [00, 59]. It is assumed that no two customers arrives at the same time.

Notice that the bank opens from 08:00 to 17:00. Anyone arrives early will have to wait in line till 08:00, and anyone comes too late (at or after 17:00:01) will not be served nor counted into the average.

Output Specification:
For each test case, print in one line the average waiting time of all the customers, in minutes and accurate up to 1 decimal place.

Sample Input:
7 3
07:55:00 16
17:00:01 2
07:59:59 15
08:01:00 60
08:00:00 30
08:00:02 2
08:03:00 10
Sample Output:
8.2

1.分析

        1.没有被服务的人不算入等待的人数。

        2.17点之前来的都可以被服务,只有17点之后的才不被服务。

2.代码

#include<iostream>
#include<algorithm>
#include<queue>
using namespace std;
const int MAX=1e4+10;
struct node{
    int t,w;
}a[MAX];
int n,k,re,res;
priority_queue<int, vector<int>, greater<int>> q;    //模拟窗口
bool cmp(node x,node y){
    return x.t<y.t;
}
int main(){
    cin>>n>>k;
    for(int i=0;i<n;i++){          //输入转化成秒
        char ch;
        int h,m,s,cos;
        cin>>h>>ch>>m>>ch>>s>>cos;
        int sum=h*60*60+m*60+s;
        a[i]={sum,cos};
    }
    sort(a,a+n,cmp);
    for(int i=0;i<k;i++){          //初始化窗口
        q.push(8*60*60);
    }
    for(int i=0;i<n;i++){
        int num=q.top();
        if(a[i].t>17*60*60) break;       //只用判断人到达的时间
        if(a[i].t>num){
            q.pop();
            q.push(a[i].t+a[i].w*60);
        }
        else{
            re+=num-a[i].t;
            q.pop();
            q.push(num+a[i].w*60);
        }
        res++;
    }
    printf("%.1f",re/60.0/res);          //输出
    return 0; 
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2326365.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python----计算机视觉处理(Opencv:道路检测之道路透视变换)

一、透视变换 对于道路检测来说&#xff0c;为了方便车辆进行行驶&#xff0c;道路上都有车道线&#xff0c;为了更加方便对道路线进行检测&#xff0c;首先我们要把到路线平视图转变为俯视图&#xff0c;以便后期处理更加方便&#xff0c;如下图所示&#xff0c;该为虚拟场景的…

为什么 ThreadLocalMap 的 key 是弱引用 value是强引用

问题一&#xff1a;为什么 ThreadLocalMap 的 key 是弱引用&#xff1f; 【假设 Entry 的 key 是对 ThreadLocal 对象的强引用】&#xff1a;这个 Entry 又持有 ThreadLocal 对象和 value 对象的强引用。如果在其他地方都没有对这个 ThreadLocla 对象的引用了、然后在使用 Thr…

AI 能解开内容的「不可能三角」吗?

3月21日&#xff0c;以“‘AI商业’进化论”为主题的行业峰会在中欧国际工商学院上海校区成功举行&#xff0c;并发布人工智能与商业创新白皮书。本次活动由中欧国际工商学院与特赞科技Tezign联合主办&#xff0c;中欧特赞人工智能与商业创新研究基金承办&#xff0c;中欧AI与营…

计算机网络 OSI参考模型

目录 OSS七层 OSI通信过程1 OSI通信过程2 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层 OSS七层 OSI通信过程1 OSI通信过程2 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层

探索新一代大模型代理(LLM agent)及其架构

在人工智能大模型(AI)的浪潮中&#xff0c;2023年我们见证了检索增强生成(Retrieval Augmented Generation, RAG)的兴起&#xff0c;而2024年则无疑成为了“代理”agent的元年。各大AI企业纷纷投身于聊天机器人代理的研发中&#xff0c;工具如MultiOn通过与外部网站的连接实现了…

AI应用案例(1)——智能工牌和会话质检

今天开辟一个新的模块&#xff0c;自己平时也搜集一些典型的行业应用案例&#xff0c;不如就记录到C站&#xff0c;同时和大家也是个分享好了。 今天分享的企业和产品&#xff0c;是循环智能的智能工牌。 这个产品应用场景清晰&#xff0c;针对的行业痛点合理&#xff0c;解决…

HMTL+JS+CSS实现贪吃蛇游戏,包含有一般模式,困难模式,还有无敌模式

HMTLJSCSS实现贪吃蛇游戏&#xff0c;包含有一般模式&#xff0c;困难模式&#xff0c;还有无敌模式&#xff08;可以穿墙死不了&#xff0c;从左边进去可以从右边出来&#xff09;&#xff0c;显示当前分数和最高分&#xff0c;吃到的球颜色可以叠加到蛇身体上 为了适配手机端…

内网渗透——红日靶场二

目录 一、前期准备 DC机配置 PC机配置 WEB机配置 将PC机和WEB机的IP地址进行更改 开启WEB服务 二、外网探测 1.使用nmap扫描 2.目录扫描 3.漏洞扫描 &#xff08;1&#xff09;CVE-2017-3506&#xff08;getshell失败&#xff09; &#xff08;2&#xff09;CVE-201…

【Unity】处理文字显示不全的问题

1.选中字体文件&#xff0c;检查 MultiAtlasTeextures 是否勾选&#xff0c;未勾选的话&#xff0c;先勾选保存后查看是否显示正常 2.勾选后未正常显示&#xff0c;则在搜索框中输入未显示的文本&#xff0c;确认字体图集是否包含该文本&#xff0c;然后点击Update Atlas Textu…

汽车诊断开发入门以及OBD检测

一、OBD 概述 定义&#xff1a;OBD 即 On - Board Diagnostics&#xff0c;车载自动诊断系统。它能实时监测车辆各项系统和部件状态&#xff0c;以此帮助诊断故障并预警。设计初衷与发展&#xff1a;最初设计目的是控制汽车尾气排放&#xff0c;确保符合环境标准。随着技术进步…

Ingredient-oriented Multi-Degradation Learning for Image Restoration论文阅读

摘要&#xff1a;重点在于关联多个任务本质的联系。 不同恢复任务的关联性很重要。 揭示退化现象的内在机理联系很有意义。 多合一的方法能在单一模型中处理多种退化问题&#xff0c;可扩展性较差。 成分导向范式挖掘不同图像退化现象背后的物理规律或特征模式。 成分导向退化重…

java项目挂机自动重启操作指南

前段时间有个伙伴问我&#xff0c;java项目挂机怎么自动重启。。。。。。今天就写一个 .sh脚本来实现应用挂机的自动重启功能 #!/bin/bash # 查询mita的进程个数 countps -ef | grep mita.jar | grep -v "grep" | wc -l # echo $count nowtimedate "%Y-%m-%d %H…

Vue el-table-column内el-tooltip识别换行符 \n

结构&#xff1a; <el-table-column prop"callSummary" width"300" label"摘要"><template slot-scope"scope"><el-tooltip class"item" effect"dark" placement"top"><div v-ht…

【C++指南】一文总结C++二叉搜索树

&#x1f31f; 各位看官好&#xff0c;我是egoist2023&#xff01; &#x1f30d; 种一棵树最好是十年前&#xff0c;其次是现在&#xff01; &#x1f680; 今天来学习C二叉搜索树的实现。 &#x1f44d; 如果觉得这篇文章有帮助&#xff0c;欢迎您一键三连&#xff0c;分享给…

【报告】内镜视频图像分析Foundation Model

来源&#xff1a;医疗基础模型 仅供个人学习&#xff0c;侵权请联系我删除

使用HTML5和CSS3实现炫酷的3D立方体动画

使用HTML5和CSS3实现炫酷的3D立方体动画 项目介绍 本文将详细介绍如何使用HTML5和CSS3技术实现一个交互式3D立方体动画。这个项目不仅展示了现代Web前端技术的强大功能&#xff0c;还能帮助读者深入理解CSS3的3D变换和动画特性。 技术栈 HTML5CSS3 (transform-style, persp…

MySQL数据库和表的操作之SQL语句

&#x1f3af; 本文专栏&#xff1a;MySQL深入浅出 &#x1f680; 作者主页&#xff1a;小度爱学习 MySQL数据库和表的操作 关系型数据库&#xff0c;都是遵循SQL语法进行数据查询和管理的。 SQL语句 什么是sql SQL&#xff1a;结构化查询语言(Structured Query Language)&…

多模态大语言模型arxiv论文略读(二)

Identifying the Correlation Between Language Distance and Cross-Lingual Transfer in a Multilingual Representation Space ➡️ 论文标题&#xff1a;Identifying the Correlation Between Language Distance and Cross-Lingual Transfer in a Multilingual Representat…

全局曝光与卷帘曝光

文章目录 曝光方式优点缺点应用场景 为何全局曝光帧率比卷帘曝光方式低 卷帘曝光和全局曝光是CMOS传感器两种常见的曝光模式&#xff0c;以下是二者的对比&#xff1a; 参考&#xff1a;B站优致谱视觉 曝光方式 卷帘曝光&#xff1a;传感器的每一行像素按顺序逐行扫描曝光&…

【一起来学kubernetes】31、Helm使用详解

一、Helm 简介 Helm 是 Kubernetes 的包管理工具&#xff0c;类比 Linux 中的 yum 或 apt&#xff0c;用于简化应用的打包、部署和版本管理。其核心功能包括&#xff1a; Chart 管理&#xff1a;将 Kubernetes 资源&#xff08;Deployment、Service 等&#xff09;打包为可复…