CF1707E.Replace

普及/提高-

通过率:0%

AC君温馨提醒

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

题目描述

You are given an integer array a1,,ana_1,\dots, a_n, where 1ain1\le a_i \le n for all ii.

There's a "replace" function ff which takes a pair of integers (l,r)(l, r), where lrl \le r, as input and outputs the pair f((l,r))=(min{al,al+1,,ar},max{al,al+1,,ar})f((l, r))=\left(\min\{a_l,a_{l+1},\dots,a_r\},\max\{a_l,a_{l+1},\dots,a_r\}\right).

Consider repeated calls of this function. That is, from a starting pair (l,r)(l, r) we get f((l,r))f((l, r)), then f(f((l,r)))f(f((l, r))), then f(f(f((l,r))))f(f(f((l,r)))), and so on.

Now you need to answer qq queries. For the ii-th query you have two integers lil_i and rir_i (1lirin)(1\le l_i\le r_i\le n). You must answer the minimum number of times you must apply the "replace" function to the pair (li,ri)(l_i,r_i) to get (1,n)(1, n), or report that it is impossible.

输入格式

The first line contains two positive integers nn , qq ( 1n,q1051\le n,q\le 10^5 ) — the length of the sequence aa and the number of the queries.

The second line contains nn positive integers a1,a2,,ana_1,a_2,\ldots,a_n ( 1ain1\le a_i\le n ) — the sequence aa .

Each line of the following qq lines contains two integers lil_i , rir_i ( 1lirin1\le l_i\le r_i\le n ) — the queries.

输出格式

For each query, output the required number of times, or 1-1 if it is impossible.

输入输出样例

  • 输入#1

    5 6
    2 5 4 1 3
    4 4
    1 5
    1 4
    3 5
    4 5
    2 3

    输出#1

    -1
    0
    1
    2
    3
    4
  • 输入#2

    6 3
    2 3 4 6 1 2
    5 6
    2 5
    2 3

    输出#2

    5
    1
    3
  • 输入#3

    5 3
    3 2 2 4 1
    2 5
    1 3
    1 5

    输出#3

    -1
    -1
    0

说明/提示

In the first example, n=5n=5 and a=[2,5,4,1,3]a=[2,5,4,1,3] .

For the first query: (4,4)(1,1)(2,2)(5,5)(3,3)(4,4)(4,4)\to(1,1)\to(2,2)\to(5,5)\to(3,3)\to(4,4)\to\ldots , so it's impossible to get (1,5)(1,5) .

For the second query, you already have (1,5)(1,5) .

For the third query: (1,4)(1,5)(1,4)\to(1,5) .

For the fourth query: (3,5)(1,4)(1,5)(3,5)\to(1,4)\to(1,5) .

For the fifth query: (4,5)(1,3)(2,5)(1,5)(4,5)\to(1,3)\to(2,5)\to(1,5) .

For the sixth query: (2,3)(4,5)(1,3)(2,5)(1,5)(2,3)\to(4,5)\to(1,3)\to(2,5)\to(1,5) .

首页