Special Subarray

3

6 votes
Problem

You've got an array, consisting of n integers a1,a2,...,an. Also, you've got m queries, the i-th query is described by two integers li,ri. Numbers li,ri define a subsegment of the original array, that is, the sequence of numbers a[li],a[li+1],a[li+2],...,a[ri]. For each query you should check whether the corresponding segment is a special subarray.

A special subarray is a sequence of integers b1,b2,...,bk, such that it first decreases, it doesn't increase. In other words, there is such integer x (1=x=k), that the following inequation fulfills: b1=b2=...=bx=bx+1=bx+2...=bk. Note that the non-increasing and the non-decreasing sequences are also considered special subarray. Example 4 3 2 1 1 2 3 4 9 6 5 3 1 Above all are special But 8 7 5 9 3 6 8 7 9 These are not special because it increases after decreasing

Input: The first line contains two integers n and m (1=n,m=10^5) — the number of array elements and the number of queries. The second line contains the sequence of integers a1,a2,...,an (1=a[i]=10^9), where number a[i] stands for the i-th array element. The following m lines contain the description of the queries. The i-th line contains the description of the i-th query, consisting of two integers li, ri (1=li=ri=n) — the boundaries of the subsegment of the initial array. The numbers in the lines are separated by single spaces. NOTE: Consider array indexing starts from 1

Output: Print m lines, in the i-th line print word "Yes" (without the quotes), if the subsegment that corresponds to the i-th query is the ladder, or word "No" (without the quotes) otherwise.


Time Limit: 1
Memory Limit: 256
Source Limit:
Editor Image

?