CF799D Field expansion

题目描述

在 Arkady 喜爱的某款游戏中,游戏过程发生在一个矩形场地上。在游戏过程中,Arkady 可以购买场地扩展包,每一个扩展包可以让场地的某一个边长按指定倍数扩大。具体来说,共有 $n$ 个扩展包,第 $i$ 个扩展包可以把宽度或者长度(Arkady 可以任选一个)乘以 $a_{i}$。每个扩展包最多只能用一次,使用顺序任意。 现在 Arkady 的场地尺寸为 $h \times w$。他希望扩展场地,使得可以在场地上放下一个尺寸为 $a \times b$ 的矩形(矩形可以平行于场地的边放置,可以旋转 $90$ 度)。请你计算,为达成目标,最少需要用几个扩展包。

输入格式

第一行包含五个整数 $a$、$b$、$h$、$w$、$n$($1 \leq a, b, h, w, n \leq 100000$)——依次表示需要放置的矩形的尺寸、初始场地的尺寸,以及可用扩展包的数量。 第二行包含 $n$ 个整数 $a_{1}, a_{2}, ..., a_{n}$($2 \leq a_{i} \leq 100000$),其中 $a_{i}$ 表示第 $i$ 个扩展包能将某一边扩大的倍数。

输出格式

输出达成目标所需的最小扩展包数量。如果即使用上所有扩展包也无法放下矩形,输出 $-1$。如果初始场地就能放下需要的矩形,输出 $0$。

说明/提示

在第一个样例中,使用任意一个扩展包即可。例如,使用第二个扩展包可以将 $h$ 扩大 $5$ 倍,这样 $h$ 变为 $10$,就可以放下目标矩形了。 由 ChatGPT 5 翻译