보디빌딩
면접 대비시간 제한1초메모리 제한512 MB
날마다 늘어나는 체중과 날마다의 최소 체중이 주어질 때, 체중이 어느 날에도 하한 아래로 내려가지 않도록 X kg을 줄이는 운동을 최대 몇 번 할 수 있는지 구합니다.
문제
건표는 헬스를 좋아하는 사람이다. 건표에게는 자신만의 운동 루틴이 있다. 건표는 이 루틴을 한 번 진행할 때마다 몸무게가 kg 빠진다. 건표는 하루에 이 루틴을 몇 번이고 진행할 수 있다.
건표는 보디빌딩 대회를 준비하려고 일 동안 식단을 짜 두었다. 이 계획에 따르면 번째 날에 건표의 몸무게가 kg 늘어난다. 다만 건표가 운동하다 쓰러지면 안 되므로, 번째 날의 최종 몸무게가 최소 kg 이상이어야 한다. 건표가 너무 많이 운동하거나 음식을 너무 적게 먹어서 그날 최종 몸무게가 kg보다 적어지면, 건표는 그 자리에서 쓰러진다. 건표는 대회에서 우승하려고 루틴을 최대한 많이 진행해 최대한 건강한 몸을 만들고 싶어 한다. 건표가 쓰러지지 않으면서 루틴을 최대 몇 번까지 진행할 수 있는지 구하라.
입력
첫째 줄에 두 정수 과 가 주어진다. 은 보디빌딩 대회까지 남은 일수이고, 는 루틴을 한 번 진행할 때마다 빠지는 몸무게(kg)이다.
둘째 줄에 개의 정수 가 주어진다. 번째 정수 는 번째 날 최종 몸무게의 하한이다.
셋째 줄에 개의 정수 가 주어진다. 번째 정수 는 번째 날에 늘어나는 몸무게이다.
출력
첫째 줄에 건표가 쓰러지지 않고 진행할 수 있는 최대 루틴 수를 출력한다.
어떻게 하더라도 일 이내에 건표가 쓰러진다면 -1을 출력한다.
제한
- ()