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
 
 #include<cstdio>
#define M 200000
int n,m,f[M+],c;
int g(int c)
{
if(c != f[c])
{
f[c]=g(f[c]);  //g(c+1) 会超时
}
return f[c];      
}
int main()
{ int t;
scanf("%d",&t);
while(t--)
{
for(int i = ; i < M ; i++)
{
f[i]=i;
}
scanf("%d %d",&n,&m);
while(n--)
{
scanf("%d",&c);
f[c]=c+;
}
while(m--)
{
scanf("%d",&c);
printf("%d\n",g(c));
}
}
}

最新文章

  1. AngularJS2 + ASP.NET MVC项目
  2. 更换win7锁屏壁纸
  3. Object Pascal 语言基础
  4. android125 zhihuibeijing 缓存
  5. cygwin编译SDL1.2
  6. jQuery获取、设置title的值
  7. C++中加const与不加const的区别
  8. window响应拖拽文件操作
  9. 关于Jaccard相似度在竞品分析中的一点思考
  10. spring cloud config svn仓库配置
  11. Hdoj 1008.Elevator 题解
  12. java先导课程学习总结
  13. Delphi基础必记-快捷键
  14. jetty 插件启动指定端口号
  15. Linux内核分析第三周学习笔记
  16. cygwin完全安装步骤方法(过程图解)
  17. Erlang:Error in process ... with exit value
  18. pygame学习笔记(4)——声音
  19. Guava Files 源码分析(一)
  20. filebeat配置不同路径下的log的两种方法

热门文章

  1. github最值得收藏的Bootstrap3后台管理框架
  2. C++ 的浅拷贝和深拷贝(结构体)
  3. BFS Codeforces Round #297 (Div. 2) D. Arthur and Walls
  4. h5-18-文件操作-兼容判断
  5. (022)[工具软件]图片浏览 JPEGView
  6. HBase表结构设计--练习篇
  7. 动手实现 React-redux(三):connect 和 mapStateToProps
  8. C# 修改DataTable 列的 DataType
  9. Spring boot Jpa添加对象字段使用数据库默认值
  10. DOCTYPE详解