P15948 Baker
Description
JOI Bakery is a bakery famous for its mouth-watering croissants. JOI Bakery has $N$ bakers numbered from $1$ to $N$. Baker $i$ ($1 \leq i \leq N$) takes $i$ minutes to make one croissant. One baker cannot make multiple croissants at the same time.
Today, $M$ customers numbered from $1$ to $M$ are scheduled to visit JOI Bakery, and each customer plans to order one croissant. Customer $j$ ($1 \leq j \leq M$) will order a croissant at time $T_j$, where time $t$ denotes the time $t$ minutes from now. However, a customer who cannot receive their croissant within $L$ minutes of ordering will give up and leave the shop. In other words, to fulfill the order of customer $j$ ($1 \leq j \leq M$), the croissant must be finished by time $T_j + L$ (including exactly at time $T_j + L$).
Manager $K$, who manages JOI Bakery, plans to have exactly one baker work today and is considering which baker to send and at what time. Since bakers focus intensely on bread-making during their shift, **they ignore all orders placed after their start time (not including exactly at the start time)**. That is, a baker starting work at time $t$ cannot fulfill orders from customers $j$ ($1 \leq j \leq M$) such that $T_j > t$.
Manager $K$ is currently considering $Q$ work plans. The $q$-th plan ($1 \leq q \leq Q$) is to have baker $A_q$ start work at time $B_q$. To help with the decision, for each of the $Q$ plans, he wants to know the maximum number of customers whose orders can be fulfilled if that plan is executed. Note that the time it takes for a baker to start making a croissant after arriving, and the time it takes to start making a new croissant after finishing one, can be ignored.
Given information about the customers visiting JOI Bakery and the work plans, create a program to find the maximum number of customers whose orders can be fulfilled for each plan.
Input Format
Read the following data from the standard input.
> $N$ $M$ $L$ $Q$\
> $T_1$ $T_2$ $\cdots$ $T_M$\
> $A_1$ $B_1$\
> $A_2$ $B_2$\
> $\vdots$\
> $A_Q$ $B_Q$
Output Format
Write $Q$ lines to the standard output. The $q$-th line ($1 \leq q \leq Q$) of the output should contain an integer
representing the maximum number of customers whose orders can be fulfilled in the $q$-th work plan.
Explanation/Hint
### Sample 1
Regarding the $1$st work plan, baker $2$ starting at time $3$ can fulfill the orders of $3$ customers $1,2$, and $3$, for example, as follows:
- First, to fulfill customer $1$’s order, start making a croissant at time $3$ and finish it $2$ minutes later at time $5$. (This satisfies the condition to finish by time $T_1 + L = 0 + 6 = 6$.)
- Next, to fulfill customer $2$’s order, start making a croissant at time $5$ and finish it $2$ minutes later at time $7$. (This satisfies the condition to finish by time $T_2 + L = 2 + 6 = 8$.)
- Finally, to fulfill customer $3$’s order, start making a croissant at time $7$ and finish it $2$ minutes later at time $9$. (This satisfies the condition to finish by time $T_3 + L = 3 + 6 = 9$.)
Customer $4$’s order is ignored because it arrives after the baker’s start time, so it cannot be fulfilled. Thus, a maximum of $3$ customers’ orders can be fulfilled, so the $1$st line outputs $3$.
Regarding the $2$nd work plan, baker $1$ starting at time $6$ can fulfill the orders of $2$ customers $2$ and $3$, for example, as follows:
- First, to fulfill customer $3$’s order, start making a croissant at time $6$ and finish it $1$ minute later at time $7$. (This satisfies the condition to finish by time $T_3 + L = 3 + 6 = 9$.)
- Next, to fulfill customer $2$’s order, start making a croissant at time $7$ and finish it $1$ minute later at time $8$. (This satisfies the condition to finish by time $T_2 + L = 2 + 6 = 8$.)
Customer $4$’s order is ignored because it arrives after the start time. Also, the order of customer $1$, which needs to be finished by time $6$, cannot be fulfilled. Thus, a maximum of $2$ customers’ orders can be fulfilled, so the $2$nd line outputs $2$.
Regarding the $3$rd work plan, baker $3$ starting at time $3$ can fulfill orders for customers $1$ and $3$, or customers $2$ and $3$, but cannot fulfill all orders for customers $1,2$, and $3$. They also cannot fulfill the order for customer $4$ which arrives after the start time. Thus, a maximum of $2$ customers’ orders can be fulfilled, so the $3$rd line outputs $2$.
Regarding the $4$th work plan, baker $4$ starting at time $7$ cannot fulfill any customer’s order. Thus, the $4$th line outputs $0$.
This sample input satisfies the constraints of Subtasks $1,2,5$, and $6$.
### Sample 2
This sample input satisfies the constraints of all the subtasks.
### Sample 3
This sample input satisfies the constraints of Subtasks $1,2,5$, and $6$.
### Constraints
- $1 \leq N \leq 4 \times 10^{12}$.
- $1 \leq M \leq 2\,000\,000$.
- $1 \leq L \leq 2 \times 10^{12}$.
- $1 \leq Q \leq 400\,000$.
- $0 \leq T_j \leq 2 \times 10^{12}$ ($1 \leq j \leq M$).
- $T_j \leq T_{j+1}$ ($1 \leq j \leq M-1$).
- $1 \leq A_q \leq N$ ($1 \leq q \leq Q$).
- $0 \leq B_q \leq 4 \times 10^{12}$ ($1 \leq q \leq Q$).
- Given values are all integers.
### Subtasks
1. (8 points) $M \leq 10,Q \leq 100000$.
2. (12 points) $M \leq 500,Q \leq 100000$.
3. (30 points) $T_M \leq B_q < T_1 + L$ ($1 \leq q \leq Q$).
4. (10 points) $T_M \leq B_q$ ($1 \leq q \leq Q$).
5. (22 points) $M \leq 500000,Q \leq 100000$.
6. (18 points) No additional constraints.