#594. 重力球

重力球

题目描述

翁老师正在进行一项实验:让小球在一排共 mm 个格子上滚动。

这些格子从上到下依次编号为 11 到 mm,其中格子 11 处在最高位置,格子 mm 处在最低位置。每两个相邻格子之间都有一个台阶,其中格子 ii(1≤i≤m−11 \leq i \leq m-1)和格子 i+1i+1 之间的台阶有一个重量门槛 wiw_i,用于决定小球能否通过。

  • 如果一个小球的重量不小于 wiw_i,那么它可以越过这个台阶,滚到格子 i+1i+1;
  • 如果小球的重量小于 wiw_i,那么它无法通过这个台阶,并会停在当前位置。

翁老师使用了 nn 个小球进行实验。对于每个小球,都会独立地进行如下实验:

当翁老师把一个重量为 xx 的小球放在格子 11 上时,小球会按照以下规则滚动:

  1. 设 pp 为小球当前所在的格子。初始时 p=1p=1。
  2. 如果 p<mp<m 且 x≥wpx \geq w_p,则小球滚到格子 p+1p+1(即将 pp 更新为 p+1p+1)。只要该条件仍然满足,就重复这一步。
  3. 如果 p=mp=m 或 x<wpx < w_p,则小球停在格子 pp。

对于每个小球,请求出它最终停下来的格子编号。

输入格式

第一行输入 nn 和 mm 表示实验次数和格子个数。

第二行输入 w1,w2,…,wm−1w_1,w_2,\ldots,w_{m-1} 表示格子 ii 和格子 i+1i+1 之间的重量门槛 wiw_i。

接下来 nn 行,每行一个整数 xx,表示每次做实验的小球的重量。

输出格式

输出 nn 行,每行一个整数代表答案。

3 5
2 5 3 1
4 
1 
10
2
1
5
5 6
3 3 3 3 3
1 
2 
3 
4 
5
1
1
6
6
6
7 10
5 12 8 20 3 15 6 10 25
10 
20 
5 
30 
1 
8 
100
2
9
2
10
1
2
10

数据规模与约定

对于 100%100\% 的数据,1≤n≤2×1051 \le n \le 2\times 10^5,2≤m≤2×1052\leq m\leq 2\times 10^5,1≤wi,x≤1091\leq w_i,x\leq 10^9。

子任务编号 分值 限制
11 3030 N,M≤1000N,M \le 1000
22 2020 wiw_i 单调不降
33 5050 无特殊限制