페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#2985

파일백업 1s 32MB

문제

컴퓨터 디자이너인 경수는 자신이 1년동안 디자인한 그림파일을 모두 하드디스크에 보관하고 있는데 하드디스크가 훼손될 경우 디자인이 모두 날아가 1년동안의 노력이 물거품이 되어 버리고 만다.

그러한 일은 생각만 해도 끔찍한 일이기에 고민끝에 공CD를 구입해 그림파일을 모두 백업해 두기로 했다.

 

CD에 담을 수 있는 그림파일의 용량은 모두 일정하며 공CD에 담을 수 있는 용량 또한 일정하다. 한편 첫 번째 CD에는 전체 그림에 대한 정보를 담고 있는 인덱스 파일을 저장을 해야한다.

한 개의 파일을 여러장의 CD에 나누어 담을 수는 없으며 파일과 파일 사이에는 안전을 위해 일정한 공간을 비어 놓게 되어 있다. (인덱스 파일과 그림파일 사이에도 비어 놓아야 한다.)

예를 들어 그림파일 한 개의 용량이 200 이고 파일 사이에 비어 놓아야 하는 공간이 50 이라면 그림 2개를 저장하기 위해 필요한 공간은 450 이고 3개를 저장하기 위해서는 700 이 필요하게 된다.

 

경수가 그동안 작업한 그림파일을 모두 저장하기 위해서 구입해야 하는 공CD의 개수를 구하는 프로그램을 작성하라.

 


입력

입력의 첫 행에는 저장해야 하는 그림 파일의 개수 N과 그림 파일 1개의 용량 NL, 인덱스 파일의 용량 IL이 각각 공백으로 구분되어 주어진다. (1 <= N <= 109, 1 <= NL, IL <= 500,000)

두번째 행에는 파일사이에 비워놓아야 하는 공간 BL과 공CD에 기록할 수 있는 용량 CL이 주어진다. (1 <= BL <= 100,000, 1 <= CL <= 1,000,000)


출력

파일을 저장하기 위해 필요한 공CD의 최소개수를 출력한다.

만약 공CD의 용량이 너무 작아서 파일을 저장할 수 없다면 -1을 출력하고 다음줄에 파일을 저장하기 위해서는 공CD 한 장의 최소크기가 얼마가 되어야 하는지 출력한다.


예제 #1

7 150 100

50 500
4

예제 #2

7 150 100

50 100
-1

150

출처

2016 ICT Award KOREA
로그인해야 코드를 작성할 수 있어요.