아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Саруман

시간 제한2초메모리 제한1024 MB

요약
비감소 수열이 주어질 때, 각 질의 (l, s)마다 합이 s인 길이 l의 연속 구간을 아무거나 하나 찾아 시작 위치를 출력하거나, 없으면 -1을 출력한다.
난이도

보통10점 중 6점

유형
투 포인터, 이분 탐색, 누적 합, 배열
정답자
아직 제출이 없습니다

문제

Как известно, Саруман Радужный очень любит порядок. Поэтому все полки его войска стоят друг за другом, причем каждый следующий полк содержит количество орков не меньше, чем предыдущий.

Перед тем как напасть на Хельмову Падь, Саруман решил провести несколько вылазок для разведки. Чтобы его отряды никто не заметил, он решил каждый раз отправлять несколько подряд идущих полков так, чтобы суммарное количество орков в них было равно определенному числу. Так как это всего лишь разведка, каждый полк после вылазки возвращается на свое место. Задачу выбрать нужные полки он поручил Гриме Змеиному Языку. А Грима не поскупится на вознаграждение, если вы ему поможете.

입력

В первой строке входного файла находится два целых числа: nn (1≤n≤2⋅1051 \le n \le 2\cdot10^5) --- количество полков и mm (1≤m≤2⋅1051 \le m \le 2\cdot10^5) -- количество предстоящих вылазок. В следующей строке записано nn чисел a_ia\_i, где a_ia\_i --- число орков в ii-ом полке (1≤a_i≤109,a_i≤a_i+11 \le a\_i \le 10^9, a\_i \le a\_{i+1}). Далее в mm строках записаны запросы вида: количество полков ll (1≤l≤n1 \le l \le n), которые должны будут отправиться в эту вылазку, и суммарное количество орков в этих полках ss (1≤s≤2⋅10161 \le s \le 2\cdot10^{16})

출력

Для каждого запроса выведите номер полка, с которого начнутся те ll, которые необходимо отправить на вылазку. Если таких полков несколько, выведите любой. Если же так выбрать полки нельзя, выведите −1-1.

예제1

  1. 예제 1

    입력
    5 2
    1 3 5 7 9
    2 4
    1 3
    
    예상 출력
    1
    2