HDU 4907-Task schedule

来源:互联网 发布:mac三国志13战斗好卡 编辑:程序博客网 时间:2024/05/16 01:45

Task schedule

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 3438    Accepted Submission(s): 1203


题目链接:点击打开链接


Problem Description
有一台机器,并且给你这台机器的工作表,工作表上有n个任务,机器在ti时间执行第i个任务,1秒即可完成1个任务。
有m个询问,每个询问有一个数字q,表示如果在q时间有一个工作表之外的任务请求,请计算何时这个任务才能被执行。
机器总是按照工作表执行,当机器空闲时立即执行工作表之外的任务请求。
 

Input
输入的第一行包含一个整数T, 表示一共有T组测试数据。

对于每组测试数据:
第一行是两个数字n, m,表示工作表里面有n个任务, 有m个询问;
第二行是n个不同的数字t1, t2, t3....tn,表示机器在ti时间执行第i个任务。
接下来m行,每一行有一个数字q,表示在q时间有一个工作表之外的任务请求。

特别提醒:m个询问之间是无关的。

[Technical Specification]
1. T <= 50
2. 1 <= n, m <= 10^5
3. 1 <= ti <= 2*10^5, 1 <= i <= n
4. 1 <= q <= 2*10^5
 

Output
对于每一个询问,请计算并输出该任务何时才能被执行,每个询问输出一行。

Sample Input
1
5 5
1 2 3 5 6
1
2
3
4
5
 


Sample Output
4
4
4
4
7


分析:
打表,定义一个 s 数组和一个 max1 变量,先将 s 数组刷为 0 ,将 max1的值设为 200001,这个值是工作表之外的任务的完成的时间最大值,然后在输入工作表任务时间点的过程中,将 s 数组标记为 -1 ,最后再以数据的最大值遍历一遍,注意是从大时间点往小时间点遍历,将各个时间点之外的任务所被执行对应的时间点存入 s 数组,在被询问的时候直接输出 s 数组里存的值就行。




#include <iostream>#include<stdio.h>#include<algorithm>#include<cstring>using namespace std;#define L 200005int s[L];int main(){    int n,m,t,a,max1;    scanf("%d",&t);    while(t--)    {        max1=200001;        memset(s,0,sizeof(s));        scanf("%d %d",&n,&m);        for(int i=1;i<=n;i++)        {            scanf("%d",&a);            s[a]=-1;        }        for(int i=2*100000;i>0;i--)        {            if (s[i]==0)            {                s[i]=i;                max1=i;            }            else                s[i]=max1;        }        for(int i=1;i<=m;i++)        {            scanf("%d",&a);            printf("%d\n",s[a]);        }    }    return 0;}


原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 运动后头晕恶心想吐怎么办 3岁儿童自闭症无语言怎么办? 2岁智力发育迟缓怎么办 法国第一年语言没有通过怎么办 听力42天未通过怎么办 7岁儿童叛逆期怎么办 被忽视型幼儿该怎么办 言语发育障碍脑神经损伤怎么办 5岁幼儿胆子小怎么办 幼儿20天胆子小怎么办 两岁宝宝胆子小怎么办 两岁的宝宝胆子小怎么办 孕中期发烧38度怎么办 小班社会交往教案有垃圾怎么办 两个月婴幼儿哭闹入睡难怎么办 8岁儿童睡觉困难怎么办 做精细动作手抖怎么办 15个月宝宝缺锌怎么办 八个月宝宝有蛔虫怎么办 两个月婴儿缺锌怎么办 婴儿天热出汗多尿少怎么办 婴儿5个月不主动抓东西怎么办 打疫苗吃了辣怎么办 四个月宝宝枕秃怎么办 四个月的孩子缺钙怎么办 小孩张牙齿会发烧怎么办 对节白蜡叶子干了怎么办 刷机字库坏了怎么办 魅蓝返回键失灵怎么办 牙蛀严重且牙根松动怎么办 蛀牙伤到神经了怎么办 给客户发错邮件怎么办外贸 cf没有枪声和脚步声怎么办 穿越火线fps太低怎么办 win10玩cf没有声音怎么办 儿子死了欠的钱怎么办 儿子欠银行的钱怎么办 惹了社会上的混混怎么办 我是五年级惹上混混怎么办 孩子挨欺负家长怎么办幼儿园 孩子被同学欺负不敢上学怎么办