4288 - 倍数查询(multiple)

题目描述

倍数查询(multiple)

文件读写

  • 输入文件multiple.in
  • 输出文件multiple.out

限制

  • 1000ms
  • 512MB

题目描述

小Y最近对代码的复杂度很感兴趣,于是他整出来一个超大范围的 倍数询问 问题

问题非常简单,给定 n 个正整数 a_1 \sim a_n,以及 m 次询问

每次询问给定一个整数 x_i,询问在 a_{x_i+1} \sim a_{n} 中 第一个 不是 a_1 \sim a_{x_i} 中任意一个数字倍数的数是谁

如果对于某次询问不存在满足条件的数字,则输出 -1

数据范围

测试点编号nm
1\leq 100\leq 100
2 \sim 3\leq 1000\leq 1000
4 \sim 5\leq 2\times 10^5= 1
6 \sim 10\leq 2\times 10^5\leq 2\times 10^5

对于所有输入数据保证:1\leq a_i \leq 10^7,1 \leq x_i \leq n

样例输入1

5 5
5 5 2 3 4
1 2 3 4 5

样例输出1

2 2 3 -1 -1

样例输入2

8 8
9 4 2 4 7 3 8 1
8 2 3 1 4 5 7 6

样例输出2

-1 2 7 4 7 3 1 1
输入

输入格式

输入第 1 行输入 2 个数 n,m,含义如题

输入第 2 行输入 n 个正整数,分别表示 a_1,a_2,a_3,\dots a_n

输入第 3 行输入 m 个正整数,分别表示每次询问 x_1,x_2,x_3 \dots x_m

输出

输出格式

输出共 1 行 m 个整数。第 i 个整数表示第 i 次询问的答案。

样例

输入

5 5
5 5 2 3 4
1 2 3 4 5

输出

2 2 3 -1 -1
标签
题目参数
时间限制 1 秒
内存限制 512 MB
提交次数 5
通过人数 2
金币数量 3 枚
难度 基础


上一题 下一题