欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

甲级PAT1014

程序员文章站 2022-06-07 14:30:05
...

甲级PAT1014

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<queue>
using namespace std;
const int maxk=1005;
struct node
{
	int x,y;
}f[maxk];
int t[maxk];
queue<int> p[maxk];
int n,m,k,q;
int main()
{
	scanf("%d%d%d%d",&n,&m,&k,&q);
	int x;
	memset(t,0,sizeof(t));
	for(int i=1;i<=k;i++)
	{
		scanf("%d",&x);
		int minx=1;
		for(int j=1;j<=n;j++)
		  if(i<=n*m)
		  {
  			 if(p[j].size()<p[minx].size())minx=j;
  		  } 
  		  else if(p[j].front()<p[minx].front())minx=j;
        t[minx]+=x;
        p[minx].push(t[minx]);
        if(i>n*m)p[minx].pop();
        if(t[minx]-x<540)
        {
        	f[i].x=8+t[minx]/60;
        	f[i].y=t[minx]%60;
        }
        else
        {
        	f[i].x=18;f[i].y=0;
        }
	} 
	while(q--)
	{
		scanf("%d",&x);
		if(f[x].x<18)printf("%02d:%02d\n",f[x].x,f[x].y);
		else printf("Sorry\n");
	}	
	return 0;
}
相关标签: PAT