CF1550F.Jumping Around

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

There is an infinite pond that can be represented with a number line. There are nn rocks in the pond, numbered from 11 to nn . The ii -th rock is located at an integer coordinate aia_i . The coordinates of the rocks are pairwise distinct. The rocks are numbered in the increasing order of the coordinate, so a1<a2<<ana_1 < a_2 < \dots < a_n .

A robot frog sits on the rock number ss . The frog is programmable. It has a base jumping distance parameter dd . There also is a setting for the jumping distance range. If the jumping distance range is set to some integer kk , then the frog can jump from some rock to any rock at a distance from dkd - k to d+kd + k inclusive in any direction. The distance between two rocks is an absolute difference between their coordinates.

You are assigned a task to implement a feature for the frog. Given two integers ii and kk determine if the frog can reach a rock number ii from a rock number ss performing a sequence of jumps with the jumping distance range set to kk . The sequence can be arbitrarily long or empty.

You will be given qq testcases for that feature, the jj -th testcase consists of two integers ii and kk . Print "Yes" if the ii -th rock is reachable and "No" otherwise.

You can output "YES" and "NO" in any case (for example, strings "yEs", "yes", "Yes" and 'YES"' will be recognized as a positive answer).

输入格式

The first line contains four integers nn , qq , ss and dd ( 1n,q21051 \le n, q \le 2 \cdot 10^5 ; 1sn1 \le s \le n ; 1d1061 \le d \le 10^6 ) — the number of rocks, the number of testcases, the starting rock and the base jumping distance parameter.

The second line contains nn integers a1,a2,,ana_1, a_2, \dots, a_n ( 1ai1061 \le a_i \le 10^6 ) — the coordinates of the rocks. The coordinates of the rocks are pairwise distinct. The rocks are numbered in the increasing order of distance from the land, so a1<a2<<ana_1 < a_2 < \dots < a_n .

Each of the next qq lines contains two integers ii and kk ( 1in1 \le i \le n ; 1k1061 \le k \le 10^6 ) — the parameters to the testcase.

输出格式

For each of the testcases print an answer. If there is a sequence of jumps from a rock number ss to a rock number ii with the jumping distance range set to kk , then print "Yes". Otherwise, print "No".

输入输出样例

  • 输入#1

    7 4 4 5
    1 5 10 13 20 22 28
    4 1
    7 2
    7 3
    3 2

    输出#1

    Yes
    No
    Yes
    Yes
  • 输入#2

    10 8 6 11
    1 2 4 7 8 9 11 13 19 20
    2 13
    5 8
    8 1
    6 15
    1 15
    2 7
    7 6
    8 9

    输出#2

    Yes
    Yes
    No
    Yes
    Yes
    Yes
    Yes
    Yes
  • 输入#3

    6 9 6 6
    1 2 4 9 18 19
    2 17
    1 18
    5 4
    2 11
    5 17
    6 8
    4 3
    3 3
    6 6

    输出#3

    Yes
    Yes
    Yes
    Yes
    Yes
    Yes
    No
    No
    Yes
  • 输入#4

    4 1 1 10
    1 8 10 19
    2 1

    输出#4

    Yes

说明/提示

Explanation of the first example:

In the first testcase the destination rock is the same as the starting rock, thus no jumps are required to reach it.

In the second testcase the frog can jump any distance in the range [52;5+2][5 - 2; 5 + 2] . Thus, it can reach rock number 55 (by jumping 77 to the right) and rock number 33 (by jumping 33 to the left). From rock number 33 it can reach rock number 22 (by jumping 55 to the left). From rock number 22 it can reach rock number 11 (by jumping 44 to the left). However, there is no way to reach rock number 77 .

In the third testcase the frog can jump any distance in the range [53;5+3][5 - 3; 5 + 3] . Thus, it can reach rock number 77 by jumping to rock 55 first and to 77 afterwards.

The fourth testcase is shown in the explanation for the second testcase.

首页