有一台机器,并且给你这台机器的工作表,工作表上有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 <= 502. 1 <= n, m <= 10^53. 1 <= ti <= 2*10^5, 1 <= i <= n4. 1 <= q <= 2*10^5 Ou

include

include

typedef long long ll;
using namespace std;
const int maxn2=2e5+10;
int has[maxn2];
int te[maxn2];

include

int main()
{

int t;
scanf("%d",&t);
while(t--){
    int n,m;
    memset(has,0,sizeof(has));
    scanf("%d%d",&n,&m);
    for(int i=0;i<n;i++){
        int j;
        scanf("%d",&j);
        has[j]++;    //hash标记预处理
    }
    int x=maxn2;
    for(int i=maxn2-1;i>0;i--){    //关键代码。从后往前,因为时间是往后走的取最小。te数组相当于记录当前i值的下一个未被标记的时间是多少,比如样例,3和5之间4为空闲,i=2时,很明显,

                         //2本身以及3都被标记了,下一个空闲时间是4所以tr[2]=4,tr[3]=4;通过打表可以看出,就这么个操作。如果 hash==0,tr就记录本身的i

        if(has[i]){            //x==maxn2是根据数据范围进行的操作
            te[i]=x;
        }
        else{
            te[i]=i;
            x=i;
        }
    }
    while(m--)
    {
        int x;
        scanf("%d",&x);
        printf("%d\n",te[x]);
    }
}
return 0;

}

目录
相关文章
|
17天前
|
运维 Serverless 数据处理
函数计算产品使用问题之遇到生成没有反应、中止也不行,以及刷新后队列积累的问题,该怎么办
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
1月前
3操作工作表
3操作工作表
|
2月前
|
存储 缓存 Java
揭秘计算机指令执行的神秘过程:CPU内部的绝密操作
本文介绍了计算机指令和CPU如何执行指令。它解释了计算机指令可以被视为CPU所理解的语言,不同的CPU支持不同的指令集。文中重点介绍了MIPS指令集作为示例。同时,还描述了CPU的内部处理过程,包括控制单元、算术逻辑单元和数据单元。文章最后讨论了CPU和内存之间通过地址和数据总线进行的数据传输。
130 1
|
2月前
|
监控 DataWorks 调度
调度任务的责任人如果已经不在该项目空间了,调度任务可否正常运行?
调度任务的责任人如果已经不在该项目空间了,调度任务可否正常运行?
41 0
|
Shell 网络安全 Perl
并发从数台机器中获取 hostname,并记录返回信息花费的时长,重定向到一个文件 hostname.txt 中,在全部完成后输出花费时长最短的那台机器的 CPU 信息。
并发从数台机器中获取 hostname,并记录返回信息花费的时长,重定向到一个文件 hostname.txt 中,在全部完成后输出花费时长最短的那台机器的 CPU 信息。
60 0
|
数据库
LeetCode(数据库)- 每台机器的进程平均运行时间
LeetCode(数据库)- 每台机器的进程平均运行时间
539 0
LeetCode(数据库)- 每台机器的进程平均运行时间
【每日SQL打卡】​​​​​​​​​​​​​​​DAY 21丨报告系统状态的连续日期【难度困难】​
【每日SQL打卡】​​​​​​​​​​​​​​​DAY 21丨报告系统状态的连续日期【难度困难】​
|
Shell 网络安全 数据安全/隐私保护
服务器空间爆满的检查及处理方法
首先必须使用 ssh 工具连接服务器,在 windows 环境下推荐使用:SecureCRT 使用下面命令进行登录: ssh root@服务器IP地址 链接之后会提示输入密码,密码不可见,使用键盘输入完之后直接按回车。
1078 0