아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

통로 쪽 자리로 주세요

시간 제한2초메모리 제한1024 MB

요약
길이 l, 너비 w인 객실에 x×y 좌석 n개와 너비 a의 통로를 하나 이상 배치할 때, 통로에 한 변을 맞댄 좌석 수의 최댓값을 구한다.
난이도

보통10점 중 6점

유형
그리디, 수학, 구현, 기하
정답자
아직 제출이 없습니다

문제

비행기를 자주 타는 사람들은 통로 쪽 자리를 좋아한다. 통로 쪽에 앉으면 옆 사람을 방해하지 않고 일어나서 걸어 다닐 수 있기 때문이다.

<<아에로트람>>은 새 비행기 <<T-239-nn>>을 생산할 준비를 하고 있다. 엔지니어들은 통로 쪽 자리가 최대한 많아지도록 객실 배치를 계획해야 한다. 다음과 같은 단순화된 수학적 모델을 사용하자. 가로 단면에서 객실은 길이 ll, 너비 ww센티미터인 직사각형이다. 좌석은 xx 곱하기 yy센티미터 크기의 직사각형이고, 길이 xx인 변이 길이 ll인 객실 변과 평행하도록 놓여야 한다. 통로는 객실 변 ll과 평행한 너비 aa의 띠이다. 통로는 객실 전체를 따라 이어진다.

객실에는 좌석 nn개를 놓아야 한다. 통로 쪽에 놓인 좌석 수가 최대가 되도록 객실을 배치하는 방법을 알아내자. 객실에는 통로가 적어도 하나 있어야 한다. 좌석은 통로와 변 하나라도 공유하면 통로 쪽에 있다고 본다.

입력

입력 파일에는 정수 여섯 개가 들어 있다: nn, ll, ww, xx, yy, aa (1≤n≤10 0001 \le n \le 10\,000, 1≤l,w,x,y,a≤1041 \le l, w, x, y, a \le 10^4).

출력

통로가 적어도 하나 있도록 좌석 nn개를 객실에 놓는 것이 불가능하면 <<−1-1>>을 출력한다. 그렇지 않으면 통로 쪽에 놓을 수 있는 좌석 수의 최댓값을 출력한다.

힌트

첫 번째 예제에서는 좌석을 예를 들어 다음과 같이 배치하는 것이 최적이다:

예제2

  1. 예제 1

    입력
    400 3250 750 80 60 70
    
    예상 출력
    160
    
  2. 예제 2

    입력
    450 3250 750 80 60 70
    
    예상 출력
    -1