나머지 알림

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

요약
가로 a, 세로 b인 판지로 만들 수 있는 가장 큰 상자 세 가지를 구한 뒤, 나머지 c, d, e와 범위 [f, g]를 이용해 조건을 만족하는 유일한 책의 권수를 찾는다.
난이도

보통10점 중 7점

유형
수학, 정수론, 완전 탐색, 구현
정답자
아직 제출이 없습니다

문제

"이봐 빌, 오하이오주 리메인더빌로 그 신기한 책 재고를 배송하는 일을 네가 맡았었지?" 프레드가 물었다. "귀여운 작은 책들이었잖아, 한 변이 1인치인 정육면체 모양이었고. 왜 더 잘 팔리지 않았는지 모르겠어. 우리가 몇 권이나 배송했는지 다시 알려줄래?"

"글쎄," 빌이 말을 시작했다. "정확한 숫자는 기억나지 않아. 대신 우리가 서로 다른 세 가지 크기의 상자를 사용했다는 건 기억해. 가장 큰 상자 크기를 사용했을 때는 나머지를 전부 채우고 407권이 남았어. 두 번째로 큰 상자 크기를 사용했을 때는 409권이 남았고, 가장 작은 상자 크기를 사용했을 때는 17권만 남았어."

"알았어," 약간 당황한 프레드가 이어갔다. "그럼 상자 크기와 사용한 상자 개수만 알려줘."

"웃긴 게," 빌이 대답했다. "그것도 기억나지 않아. 대신 상자들은 16 x 21인치 판지 한 장에서 만들어졌고, 네 모서리 각각에서 정사각형을 잘라냈어. 그런 다음 옆면을 접어 올려 윗면이 열린 상자를 만들고, 각 상자를 책으로 채운 다음 포장 테이프로 뚜껑을 붙였어. 각 상자의 치수는 모두 정수 인치였어."

그림 H.1: 상자를 접는 예시.

"기억력이 참 선택적이네," 이제 짜증이 난 프레드가 불평했다.

"글쎄, 도움이 된다면, 세 가지 상자 크기는 그 판지로 만들 수 있는 가장 큰 세 가지였어. 그리고 우리가 배송해야 할 책이 20,000권에서 30,000권 사이였다는 것도 알아. 그 정도면 책의 총 개수를 알아내기에 충분할 거야."

"그럼 정리해 보자. 네가 나에게 주는 건 판지의 치수, 상자 크기가 그 판지로 만들 수 있는 가장 큰 세 가지라는 사실, 각 상자 크기를 사용한 뒤 남은 책의 개수, 그리고 책의 개수가 놓여 있는 범위, 맞지?" 점점 더 아파오는 머리를 문지르며 프레드가 말했다.

"맞아," 빌이 확인했다.

"엄청나게 복잡한 컴퓨터 프로그래밍 문제 같네!"

"그러게. 참 이상하지?"

입력

입력은 일곱 개의 양의 정수 a b c d e f g로 이루어진다. 여기서 a와 b (a ≤ b, 7 ≤ a, b ≤ 100)는 판지의 치수(인치)이고, c, d, e (1 ≤ c, d, e ≤ 10^9)는 주어진 크기의 판지로 만들 수 있는 가장 큰 세 가지 크기의 상자에 대해 남은 책의 개수(가장 큰 상자 크기부터 세 번째로 큰 상자 크기 순서)이며, f와 g는 책의 개수에 대한 양 끝을 포함하는 범위를 지정한다 (1 ≤ f < g ≤ 10^9).

출력

문제의 모든 조건을 만족하는 책의 개수를 출력한다. 각 문제는 유일한 답을 가진다.

예제1

  1. 예제 1

    입력
    16 21 407 409 17 20000 30000
    
    예상 출력
    22457