33OJ
登录 注册

#LX0067. 乘船

乘船

题目描述 1s 512MB

有 nn 个人准备乘船,他们的编号依次为 1,2,…,n1,2,\ldots,n。第 ii 个人的体重为 aia_i。这些人已经按照体重从小到大排列,保证:

a1≤a2≤⋯≤an。a_1\le a_2\le\cdots\le a_n。

每条船最多乘坐两个人,且同一条船上所有人的体重之和不能超过 WW。保证每个人的体重都不超过 WW,因此每个人都可以单独乘坐一条船。

现在有 QQ 次询问。每次询问给出两个正整数 X,MX,M,请你判断:能否使用至多 XX 条船,让编号为 11 至 MM 的这 MM 个人全部乘船?

每个人必须恰好乘坐一条船,同船的两个人不必编号相邻。这里是在给人分配船只,不允许让一条船往返多次来运送不同的人。

所有询问相互独立,各次询问的载重上限始终为同一个 WW。

输入格式

从标准输入读入数据。

第一行输入三个正整数 n,Q,Wn,Q,W。

第二行输入 nn 个正整数 a1,a2,…,ana_1,a_2,\ldots,a_n,保证它们按非递减顺序排列。

接下来 QQ 行,每行输入两个正整数 X,MX,M,表示一次询问。

输出格式

输出到标准输出。

对于每次询问,输出一行。如果能使用至多 XX 条船装下前 MM 个人,输出 Yes;否则输出 No。

样例输入 #1

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

样例输出 #1

No
Yes
Yes
No
Yes
Yes

样例解释 #1

对于前两次询问,要让全部六个人乘船,至少需要四条船。一种安排是:第 11、55 个人同船,第 33、44 个人同船,第 22 个人和第 66 个人各自单独乘船。

为什么三条船不够:第 66 个人的体重为 99,不能与其他任何人同船,只能单独乘船;剩下五个人至少还需要三条船。

对于第三次询问,可以让第 11、44 个人同船,第 22、33 个人同船,共使用两条船。

对于第四次询问,两条船最多只能坐四个人,不能装下五个人。

对于第五次询问,可以让第 11、55 个人同船,第 33、44 个人同船,第 22 个人单独乘船,共使用三条船。

样例输入 #2

4 4 7
4 4 6 7
2 2
1 2
3 4
4 4

样例输出 #2

Yes
No
No
Yes

样例解释 #2

任意两个人的体重之和都超过 77,因此每个人都必须单独乘船。

样例输入 #3

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

样例输出 #3

Yes
No
Yes
No
Yes

另提供 sample 目录中的五组下发样例:data04、data08、data12、data15、data20,依次对应下表中的五档数据范围。题面中的三组小样例不另行下发。

数据范围

本题共 2020 个测试点,每个测试点 55 分,共 100100 分。

测试点编号 n≤n\leq Q≤Q\leq 特殊性质
1∼41\sim4 1010 /
5∼85\sim8 20002000 20002000
9∼129\sim12 2×1052\times10^5
13∼1513\sim15 2×1052\times10^5 所有询问均满足 M=nM=n
16∼2016\sim20 /

表格中的“/”表示没有额外限制。

对于 100%100\% 的数据:

1≤n,Q≤2×105,1≤W≤109,1\le n,Q\le2\times10^5,\qquad 1\le W\le10^9, 1≤a1≤a2≤⋯≤an≤W,1\le a_1\le a_2\le\cdots\le a_n\le W, 1≤X,M≤n。1\le X,M\le n。

附加样例

附加文件

附件包含题面所述的 sample 目录及下发样例,不参与计分。