Олимпиадный тренинг

Задача . Maximizing Productivity


Задача

Темы:

У Фермера Джона есть \(N\) (\(1 \leq N \leq 2 \cdot 10^5\)) ферм, пронумерованных от \(1\) до \(N\). Известно, что ФД закрывает ферму \(i\) в момент времени \(c_i\). Беси просыпается в момент времени \(S\) и хочет максимизировать производительность своего дня посетив как можно больше ферм, прежде чем они закроются. Она планирует посетить ферму \(i\) в момент времени \(t_i + S\). Беси должна прибыть на ферму строго раньше чем ФД закроет её, чтобы действительно посетить эту ферму.

У Беси есть \(Q\) \((1 \leq Q \leq 2 \cdot 10^5)\) запросов. Для каждого запроса она даёт Вам два целых числа \(S\) и \(V\). Для каждого запроса выведите сможет ли Беси посетить не менее \(V\) ферм, если она проснётся в момент времени \(S\).

ФОРМАТ ВВОДА (с клавиатуры / stdin):

Первая строка состоит из \(N\) и \(Q\).

Вторая строка состоит из \(c_1, c_2, c_3 \dots c_N\) (\(1 \leq c_i \leq 10^6\)).

Третья строка состоит из \(t_1, t_2, t_3 \dots t_N\) (\(1 \leq t_i \leq 10^6\)).

Каждая из последующих \(Q\) строк содержит два целых числа \(V\) (\(1 \leq V \leq N\)) and \(S\) (\(1 \leq S \leq 10^6\)).

ФОРМАТ ВЫВОДА (на экран / stdout):

Для каждого из \(Q\) запросов, выведите YES или NO на новой строке.


Примеры
Входные данныеВыходные данные
1 5 5
3 5 7 9 12
4 2 3 3 8
1 5
1 6
3 3
4 2
5 1
YES
NO
YES
YES
NO

time 500 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
Комментарий учителя