QOJ.ac

QOJ

Limite de temps : 2 s Limite de mémoire : 512 MB Points totaux : 110

#13383. 甜点店

Statistiques

镇上新开了一家面包店!快来尝尝 Dodo 面包店的美味蛋糕吧!

面包师准备了 $n$ 个蛋糕,第 $i$ 个蛋糕的甜度为 $a_i$。它们按给定的顺序摆放在一张长桌上。有 $q$ 个人排队购买城里最好的蛋糕。每个人的订单形式如下:“我想要购买 $d_i$ 个甜度至少为 $s_i$ 的蛋糕。”

Dorijan 服务顾客的方式很特别。他会从桌子上提供 $d_i$ 个连续的蛋糕。为了保持桌子尽可能美观,他只会从桌子的左边缘或右边缘提供蛋糕。他注意到这样很难服务很多顾客,因此在服务一位顾客之前,他会先从桌子的边缘吃掉一些蛋糕(可能不吃)。

如果 Dorijan 无法满足某位顾客的需求,他就会关门歇业。在他关门之前,他最多能服务多少位顾客?

输入格式

第一行包含两个整数 $n, q$ ($1 \le n \le 5\,000, 1 \le q \le 2 \cdot 10^5$),分别表示蛋糕的数量和排队的人数。

第二行包含 $n$ 个整数 $a_i$ ($1 \le a_i \le 10^9$),其中 $a_i$ 是第 $i$ 个蛋糕的甜度。

接下来的 $q$ 行中,每行包含两个整数 $d_i, s_i$ ($1 \le d_i \le n, 1 \le s_i \le 10^9$),表示队列中第 $i$ 位顾客的订单。

输出格式

在唯一的一行中输出 Dorijan 可以服务的顾客数量。

子任务

子任务 分值 数据范围
1 21 $n, q \le 100$
2 31 $d_1 = d_2 = \dots = d_q = 1$
3 58 无附加限制

样例

输入 1

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

输出 1

4

输入 2

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

输出 2

2

输入 3

9 5
1 3 2 5 1 4 6 2 1
3 2
2 3
1 1
1 2
1 1

输出 3

4

说明

第三个样例的解释: Dorijan 先从左边吃掉一个蛋糕,然后将接下来的三个甜度分别为 3、2 和 5 的蛋糕提供给第一位顾客。接着他又从左边吃掉一个蛋糕,并将接下来的两个甜度分别为 4 和 6 的蛋糕提供给第二位顾客。第三位顾客得到了右边一个甜度为 1 的蛋糕,第四位顾客得到了最后一个甜度为 2 的蛋糕。不幸的是,Dorijan 没有更多的蛋糕了,所以最后一位顾客只能空手而归。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.