P12733 磨合

题目背景

> 「能够像这样『磨合』,实在是帮了个大忙。」\ ——绫濑沙季

题目描述

悠太和沙季遇到了 $n$ 个问题,问题的难度分别为 $d_1,\dots,d_n$。 他们可以以任意顺序解决问题,对于准备解决的第 $i$ 个问题,每将难度减少 $1$,两人需要花费 $i$ 秒。将难度减少为 $0$ 时问题被解决,他们才可以继续解决下一个问题。 如果他们正在解决第 $i$ 个问题(即难度尚未减少为 $0$),但剩余时间少于 $i$ 秒,他们就不能继续解决剩下的问题了,第 $i$ 个问题也没有解决。 他们想要知道,如果共有 $t$ 秒,那么最多能解决多少个问题。由于他们可能面对很多种不同情况,所以会多次改变 $t$ 进行询问。

输入格式

第一行输入两个整数 $n,q$ 表示问题总数和询问次数。 第二行输入 $n$ 个整数,表示 $d_1,\dots,d_n$。 接下来 $q$ 行,每行输入一个整数表示询问的总时间 $t$。

输出格式

对于每次询问输出一行一个整数表示最多能解决的问题数量。

说明/提示

#### 样例 1 解释 若 $t=10$,则第 $1$ 个解决难度为 $7$ 的问题,第 $2$ 个解决难度为 $1$ 的问题,花费的时间为 $1\times7+2\times1=9$ 秒。可以证明他们无法解决三个问题。 若 $t=16$,则依次解决难度为 $7,3,1$ 的问题,花费的时间为 $1\times7+2\times3+3\times1=16$ 秒。 #### 数据范围与限制 **本题采用捆绑测试,各 Subtask 的限制与分值如下。** | Subtask No. | $n\le$ | $q\le$ | $d_i\le$ | $t\le$ | 分值 | 依赖子任务 | | :-: | :-: | :-: | :-: | :-: | :-: | :-: | | $1$ | $10$ | $1$ | $10$ | $10^3$ | $13$ | | | $2$ | $10^3$ | $1$ | $10^3$ | $10^9$ | $24$ | $1$ | | $3$ | $10^3$ | $10^6$ | $10^3$ | $10^9$ | $16$ | $1,2$ | | $4$ | $10^6$ | $1$ | $10^3$ | $10^{16}$ | $16$ | $1,2$ | | $5$ | $10^6$ | $10^6$ | $10^3$ | $10^{16}$ | $31$ | $1,2,3,4$ | 对于所有数据,满足 $1\le n,q\le10^6$,$1\le d_i\le10^3$,$0\le t\le10^{16}$。