首页 > 学院 > 开发设计 > 正文

1014. Waiting in Line (30)

2019-11-08 20:10:27
字体:
来源:转载
供稿:网友
#include<iostream>#include<iomanip>#include<queue>#define MAXTIME 540#define INF 1000using namespace std;void time_change(int i){ if(i==INF) cout<<"Sorry"<<endl; else cout<<setw(2)<<setfill('0')<<8+i/60<<":"<<setw(2)<<setfill('0')<<i%60<<endl;}int main(){ int N,M,K,Q,x=1; queue<int> q[22]; int T[1001]; int time[1001]; cin>>N>>M>>K>>Q; for(int t=1;t<=K;t++) {cin>>T[t];time[t]=INF;} for(int t=0;t<M;t++) { for(int i=0;i<N;i++) if(x<=K) q[i].push(x++); } for(int t=1;t<=539;t++) { for(int i=0;i<N;i++) { if(!q[i].empty() &&--T[q[i].front()]==0) { time[q[i].front()]=t; if(q[i].size()>=2) q[i].pop(); if(x<=K) { q[i].push(x++); } } if(t==539 && T[q[i].front()]>0) time[q[i].front()]=t+T[q[i].front()]; } } for(int t=1;t<=Q;t++) { cin>>x; time_change(time[x]); }}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表