만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

보디빌딩

면접 대비

시간 제한1초메모리 제한512 MB

요약
날마다 늘어나는 체중과 날마다의 최소 체중이 주어질 때, 체중이 어느 날에도 하한 아래로 내려가지 않도록 X kg을 줄이는 운동을 최대 몇 번 할 수 있는지 구합니다.
난이도

쉬움10점 중 3점

유형
배열, 누적 합
정답자
아직 제출이 없습니다

문제

건표는 헬스를 좋아하는 사람이다. 건표에게는 자신만의 운동 루틴이 있다. 건표는 이 루틴을 한 번 진행할 때마다 몸무게가 XX kg 빠진다. 건표는 하루에 이 루틴을 몇 번이고 진행할 수 있다.

건표는 보디빌딩 대회를 준비하려고 NN일 동안 식단을 짜 두었다. 이 계획에 따르면 ii번째 날에 건표의 몸무게가 BiB_i kg 늘어난다. 다만 건표가 운동하다 쓰러지면 안 되므로, ii번째 날의 최종 몸무게가 최소 AiA_i kg 이상이어야 한다. 건표가 너무 많이 운동하거나 음식을 너무 적게 먹어서 그날 최종 몸무게가 AiA_i kg보다 적어지면, 건표는 그 자리에서 쓰러진다. 건표는 대회에서 우승하려고 루틴을 최대한 많이 진행해 최대한 건강한 몸을 만들고 싶어 한다. 건표가 쓰러지지 않으면서 루틴을 최대 몇 번까지 진행할 수 있는지 구하라.

입력

첫째 줄에 두 정수 NN과 XX가 주어진다. NN은 보디빌딩 대회까지 남은 일수이고, XX는 루틴을 한 번 진행할 때마다 빠지는 몸무게(kg)이다.

둘째 줄에 NN개의 정수 AiA_i가 주어진다. ii번째 정수 AiA_i는 ii번째 날 최종 몸무게의 하한이다.

셋째 줄에 NN개의 정수 BiB_i가 주어진다. ii번째 정수 BiB_i는 ii번째 날에 늘어나는 몸무게이다.

출력

첫째 줄에 건표가 쓰러지지 않고 진행할 수 있는 최대 루틴 수를 출력한다.

어떻게 하더라도 NN일 이내에 건표가 쓰러진다면 -1을 출력한다.

제한

  • 1≤N≤500,0001 \leq N \leq 500,000
  • 1≤Ai,Bi,X≤1,000,000,0001 \leq A_i, B_i, X \leq 1,000,000,000 (1≤i≤N1 \leq i \leq N)

예제2

  1. 예제 1

    입력
    10 5
    1 3 2 2 5 7 1 3 1 5
    3 5 6 5 3 1 3 5 1 3
    
    예상 출력
    6
    
  2. 예제 2

    입력
    1 10
    2
    1
    
    예상 출력
    -1