건초 더미
시간 제한: 2000ms메모리 제한: 2048MB출처: KOI 2025 1차BOJ 34119
문제
수직선의 위치 에서 오른쪽 방향으로 정수 크기의 힘을 가진 화살이 발사된다. 각 정수 위치 (1 ≤ i ≤ N)에는 방어력 를 가진 건초 더미를 최대 하나 설치할 수 있다.
화살이 건초 더미에 부딪쳤을 때 화살의 힘이 방어력보다 작거나 같으면, 화살은 즉시 멈춘다. 반대로 화살의 힘이 방어력보다 크면, 힘이 방어력 만큼 감소한 뒤 건초 더미를 관통해 계속 날아간다.
두 정수 , 에 대하여 의 값을 "힘이 인 화살이 위치 에서 멈추거나 위치 보다 왼쪽에서 멈추도록 하기 위해 설치해야 하는 건초 더미의 최소 개수" 라고 정의하자. 만약 어떠한 설치 방법으로도 화살을 멈추게 할 수 있는 방법이 없다면, </strong>f(X, P) = −1<strong>로 정의한다.
개의 정수 쌍 (1 ≤ j ≤ Q)에 대해 각각 의 값을 구하는 프로그램을 작성하라.
입력
첫 번째 줄에는 건초 더미의 설치할 수 있는 위치의 개수 과 발사되는 화살의 횟수 가 공백을 사이에 두고 주어진다.
두 번째 줄에는 위치 (1 ≤ i ≤ N)에 놓을 수 있는 건초 더미의 방어력 이 공백을 사이에 두고 주어진다.
세 번째 줄부터 개의 줄에 걸쳐 개의 정수 쌍이 주어진다. 이 중 (1 ≤ j ≤ Q)번째 줄에는 와 가 공백을 사이에 두고 주어진다.
출력
개의 줄을 출력한다. 이 중 (1 ≤ j ≤ Q)번째 줄에는 의 값을 출력한다.
예제
예제 1
입력
5 6 2 5 6 1 12 1 1 5 14 2 8 3 7 4 14 5 1
출력
1 2 -1 2 4 1
예제 2
입력
5 5 3 6 1 1 10 1 10 2 10 3 10 4 10 5 10
출력
-1 -1 3 3 1
코드를 제출하려면 로그인하세요.