#include<algorithm>
#include<cstdio>
#include<iostream>
#include<string>
#include<cstring>
#include<vector>
#include<queue>
using namespace std;
int l[1005],ans[1005],tot[30];
queue<int>que[30];
int main()
{
int n,m,k,q,i,j,x;
while(scanf("%d%d%d%d",&n,&m,&k,&q)!=EOF)
{
memset(tot,0,sizeof(tot));
for(i = 1;i<=k;i++)scanf("%d",&l[i]);
for(i = 1;i<=k;i++)
{
int mn = 1e8,pos;
for(j = 1;j<=n;j++)
{
if(que[j].size()<mn)
{
mn = que[j].size();
pos = j;
}
}
if(mn>=m)
{
mn = 1e8;
for(j = 1;j<=n;j++)
{
if(ans[que[j].front()]<mn)
{
mn = ans[que[j].front()];
pos = j;
}
}
}
que[pos].push(i);
if(que[pos].size()>m)que[pos].pop();
tot[pos]+=l[i];
ans[i] = tot[pos];
}
for(i = 1;i<=q;i++)
{
scanf("%d",&x);
if(ans[x]-l[x]>=540)printf("Sorry\n");
else printf("%02d:%02d\n",ans[x]/60+8,ans[x]%60);
}
}
return 0;
}
PAT 1014 Waiting in Line 模拟
最新推荐文章于 2024-04-23 17:00:35 发布