#include <stdio.h>
#include <memory.h>
#include <math.h>
#include <string>
#include <vector>
#include <set>
#include <stack>
#include <queue>
#include <algorithm>
#include <map> #define I scanf
#define OL puts
#define O printf
#define F(a,b,c) for(a=b;a<c;a++)
#define FF(a,b) for(a=0;a<b;a++)
#define FG(a,b) for(a=b-1;a>=0;a--)
#define LEN 1010
#define MAX (1<<30)+1
#define V vector<int> using namespace std; struct Customer{
int comeTime;
int serveTime;
Customer(int c,int s):comeTime(c),serveTime(s){
}
}; bool cmp(Customer a,Customer b){
return a.comeTime<b.comeTime;
} int processTime(int H,int M,int S){
return H*+M*+S;
} int windowEnd[];//每个窗口的结束时间 int main(){
// freopen("1017.txt","r",stdin);
int N,M,i,j,hh,mm,ss,p;
I("%d %d",&N,&M);
int startTime=processTime(,,);
int endTime=processTime(,,);
vector<Customer> C;
FF(i,M) windowEnd[i]=startTime; //初始化每个窗口的开始时间
while(N--){
I("%d:%d:%d %d",&hh,&mm,&ss,&p);
int thisTime=processTime(hh,mm,ss);
if(thisTime>endTime) continue;
p*=;
p=min(p,); //处理排队超时
C.push_back(Customer(thisTime,p));
}
sort(C.begin(),C.end(),cmp);
int wait=;
//对于每一个顾客进行处理
FF(i,C.size()){
//选择一个最早结束的
int minTime=MAX,mI;
FF(j,M) {
if(windowEnd[j]<minTime){
minTime=windowEnd[j];
mI=j;
}
}
if(windowEnd[mI]>C[i].comeTime){ //顾客来早了,需要等待
wait+=windowEnd[mI]-C[i].comeTime;
windowEnd[mI]+=C[i].serveTime;
}else{ //顾客不用等待
windowEnd[mI]=C[i].comeTime+C[i].serveTime;
}
}
O("%.1f\n",wait/60.0/C.size());
return ;
}

最新文章

  1. solaris tar 命令exclude使用
  2. [java] java解析txt文件
  3. Android新浪微博获取评论信息、发表评论、转发微博等
  4. Enum:Backward Digit Sums(POJ 3187)
  5. Codeforces Round #263 (Div. 2) D. Appleman and Tree(树形DP)
  6. Mysql中查找并删除重复数据的方法
  7. KVM 命令行启动第一台虚拟机
  8. Mysql中外键的 Cascade ,NO ACTION ,Restrict ,SET NULL
  9. python整数与IP地址转换
  10. linux 怎么与网络对时
  11. Eclipse插件的安装(手动安装),以安装SVN插件和中文语言包为例
  12. ios的单元測试OCUnit以及更新了之后的XCTestCase
  13. Lua中的closure(闭合函数)
  14. mysql 中 max_allowed_packet 查询和修改
  15. mysql 连接超时解决方案: 怎样修改默认超时时间
  16. linux中创建一个回收站
  17. python sys模块使用详情
  18. Python3 Tkinter-Pack
  19. 每天一个Linux命令(31)diff命令
  20. 应验log4j.xml时不能找到log4j.dtd

热门文章

  1. phpize安装PHP扩展
  2. umi+dva+antd新建项目
  3. 生成 RSA 公钥和私钥的方法
  4. Shell基本运算符之布尔运算符、逻辑运算符
  5. Zookeeper 到底能帮我们解决哪些问题?
  6. 移动端rem布局,用户调整手机字体大小或浏览器字体大小后导致页面布局出错问题
  7. linq 大数据 sql 查询及分页优化
  8. 【MySQL】多表查询&事务&权限管理
  9. Window权限维持(八):时间服务器
  10. logical函数