물고기 3
시간 제한2초메모리 제한1024 MB
각 구간의 물고기가 목표 지능 C_i에 도달하도록 A 먹이를 최소 몇 개 넣어야 하는지 구하고, 불가능하면 -1을 출력합니다.
문제
JOI-kun은 큰 수조에서 물고기 마리를 기르고 있다. 각 물고기에는 부터 까지 번호가 붙어 있다.
JOI-kun에게는 A와 B 두 종류의 먹이가 있으며, 두 먹이 모두 충분히 있다. 수조에 먹이를 한 개 넣으면 물고기 한 마리가 정확히 그 먹이를 먹는다. 어떤 물고기든 먹을 수 있다. 먹이 종류와 먹은 물고기에 따라 물고기의 지능은 다음과 같이 변한다.
- 물고기 ()가 A 먹이를 한 개 먹으면, 물고기 의 지능이 정확히 만큼 증가한다.
- 물고기 ()가 B 먹이를 한 개 먹으면, 번호가 이상인 모든 물고기의 지능이 각각 정확히 씩 증가한다.
처음에는 모든 물고기의 지능이 이다. JOI-kun은 물고기 ()의 지능을 이상적인 지능 와 같게 만들고 싶어 하지만, 항상 가능한 것은 아니다.
JOI-kun에게는 개의 질문이 있다. 번째 질문은 다음과 같다. 모든 지능이 인 상태에서 먹이를 넣는 행동을 0번 이상 반복하여, 물고기 의 지능을 모두 이상적인 값과 정확히 같게 만들 수 있는가? 가능하다면, 수조에 넣어야 하는 A 먹이의 최소 개수는 얼마인가?
물고기 정보와 질문 정보가 주어졌을 때, 이 질문들에 답하는 프로그램을 작성하라.
입력
첫째 줄에 과 가 주어진다.
둘째 줄에 이 주어진다.
셋째 줄에 가 주어진다.
이후 개의 줄에 각각 와 가 주어진다.
출력
개의 줄을 출력한다. 번째 줄에는 물고기 의 지능을 이상적인 값과 정확히 같게 만드는 데 필요한 A 먹이의 최소 개수를 출력한다. 불가능하면 -1을 출력한다.
제한
- .
- .
- .
- ().
- ().
- 주어지는 모든 값은 정수이다.