pat1014
来源:互联网 发布:厦门大学网络教育报名 编辑:程序博客网 时间:2024/06/04 19:27
#include<cstdio>#include<queue>#include<string>using namespace std;const int maxn=20,maxm=1000+5;queue<int> que[maxn];int tout[maxm],tin[maxm];string convert(int id){ if(tin[id]>=60*(17-8)) return "Sorry"; else { int time=tout[id]; string str; char ss[5]; if(time/60+8<10) str+="0"; sprintf(ss,"%d",time/60+8); str=str+ss+":"; time-=time/60*60; if(time<10) str+="0"; sprintf(ss,"%d",time); str+=ss; return str; }}int main(){ int N,M,K,Q; while(scanf("%d%d%d%d",&N,&M,&K,&Q)==4){ int time,fast,id; for(int i=0;i<N;i++){ while(!que[i].empty()) que[i].pop(); if(i<K) { scanf("%d",&time); que[i].push(time); tout[i]=que[i].back(); } } for(int i=N;i<N*M;i++){ if(i<K){ scanf("%d",&time); tin[i]=que[i%N].back(); que[i%N].push(time+tin[i]); tout[i]=que[i%N].back(); } } for(int i=N*M;i<K;i++){ fast=que[0].front(); for(int j=1;j<N;j++) fast=min(fast,que[j].front()); for(int j=0;j<N;j++){ if(que[j].front()==fast){ que[j].pop(); scanf("%d",&time); tin[i]=que[j].back(); que[j].push(tin[i]+time); tout[i]=que[j].back(); break; } } } for(int i=0;i<Q;i++){ scanf("%d",&id); printf("%s\n",convert(id-1).c_str()); } } return 0;}
阅读全文
0 0
- PAT1014~~~
- pat1014
- PAT1014. 福尔摩斯的约会
- PAT1014. 福尔摩斯的约会
- PAT1014 福尔摩斯的约会
- PAT1014福尔摩斯的约会
- pat1014:福尔摩斯的约会
- pat1014 Waiting in line
- PAT1014 福尔摩斯的约会
- pat1014-福尔摩斯的约会
- PAT1014. Waiting in Line (30)
- PAT1014. 福尔摩斯的约会 (20)
- PAT1014 BASIC:福尔摩斯的约会 (20)
- 【PAT1014】 Waiting in Line (30) queue模拟排队
- pat1007
- 深入理解Django中的ORM数据库操作(Django系列1)
- pat1008
- python依赖注入
- iOS【webView 加载微信文章注入JS实现交互 浏览图片及保存】
- pat1014
- rabin-karp 算法学习心得-lintcode 594
- Web安全笔记整理
- 实战6.SparkSQL(中)--深入了解SparkSQL运行计划及调优
- 复杂度
- iOS【开发即时通讯 SocketIO
- 实战6.SparkSQL(下)--Spark实战应用
- 移植 Nginx+PHP(FastCGI) 到 ARM Linux (一)
- 安卓behavior详解1--系统behavior的简单应用