308637: CF1550F. Jumping Around
Memory Limit:256 MB
Time Limit:5 S
Judge Style:Text Compare
Creator:
Submit:0
Solved:0
Description
Jumping Around
题意翻译
- 数轴上顺次有 $n$ 个点 $a_1 < a_2 < \cdots < a_n$。 - 有一只小青蛙,初始时在 $a_s$ 处。小青蛙有两个参数:步长 $d$ 和灵活程度 $k$。其中,步长 $d$ 是确定的,而灵活程度 $k$ 是可以调整的。 - 小青蛙可以从某个点跳到另一个点。但这是有要求的:小青蛙能从 $a_i$ 跳到 $a_j$,当且仅当 $d-k\leq |a_i-a_j|\leq d+k$。 - 给定 $a_1,...,a_n$ 和 $d$。你需要回答 $q$ 次询问,每次询问给定一个灵活程度 $k$ 和一个下标 $i$,你需要回答:此时的小青蛙能否跳到 $a_i$? - 保证 $1\leq n,q\leq 2\times 10^5$,$1\leq s,i\leq n$,$1\leq a_i,d,k\leq 10^6$,$a_1 < a_2 < \cdots < a_n$。题目描述
There is an infinite pond that can be represented with a number line. There are $ n $ rocks in the pond, numbered from $ 1 $ to $ n $ . The $ i $ -th rock is located at an integer coordinate $ a_i $ . The coordinates of the rocks are pairwise distinct. The rocks are numbered in the increasing order of the coordinate, so $ a_1 < a_2 < \dots < a_n $ . A robot frog sits on the rock number $ s $ . The frog is programmable. It has a base jumping distance parameter $ d $ . There also is a setting for the jumping distance range. If the jumping distance range is set to some integer $ k $ , then the frog can jump from some rock to any rock at a distance from $ d - k $ to $ d + 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 $ i $ and $ k $ determine if the frog can reach a rock number $ i $ from a rock number $ s $ performing a sequence of jumps with the jumping distance range set to $ k $ . The sequence can be arbitrarily long or empty. You will be given $ q $ testcases for that feature, the $ j $ -th testcase consists of two integers $ i $ and $ k $ . Print "Yes" if the $ i $ -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 $ n $ , $ q $ , $ s $ and $ d $ ( $ 1 \le n, q \le 2 \cdot 10^5 $ ; $ 1 \le s \le n $ ; $ 1 \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 $ n $ integers $ a_1, a_2, \dots, a_n $ ( $ 1 \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 $ a_1 < a_2 < \dots < a_n $ . Each of the next $ q $ lines contains two integers $ i $ and $ k $ ( $ 1 \le i \le n $ ; $ 1 \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 $ s $ to a rock number $ i $ with the jumping distance range set to $ k $ , 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