• hdu 4908 Task schedule 须要预处理


    Task schedule

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


    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
     


    在z数组中, 每一个i 代表一个时间点,  记录每一个时间点后面近期的0位置到z[i]中,0代表没任务.  由于查询互不影响,所以每次 输出z[q]就是q时间的任务最快能被处理的时间点.


    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
    #include<algorithm>
    using namespace std;
    int time[312345],z[3123456];
    int main()
    {
        int t,n,q,i,tem,flag;
        scanf("%d",&t);
        while(t--)
        {
            memset(z,0,sizeof(z));
            scanf("%d%d",&n,&q);
            for(i=1;i<=n;i++)
            {
                scanf("%d",&time[i]);
                z[time[i]]=1;
            }
            for(i=200010;i>=0;i--)
            {
                if(z[i]==0)
                {
                    flag=i;
                }
                z[i]=flag;
            }
            while(q--)
            {
                scanf("%d",&tem);
                printf("%d
    ",z[tem]);
            }
        }
        return 0;
    }




  • 相关阅读:
    iOS js交互
    崩溃!UIAlertController 引起的崩溃
    跳转到AppStore下载app
    installshield basic msi 更新时覆盖不了上一个版本文件解决方案1
    用ILMerge.exe合并dll
    获取某几个分类下的前N条数据 mssql语句
    计算网络文件的大小
    英语 2018-12-04 2法国燃料涨价抗议活动
    英语2018-12-04
    从一个故事说起,谈谈企业应用架构的演变史
  • 原文地址:https://www.cnblogs.com/wgwyanfs/p/7065643.html
Copyright © 2020-2023  润新知