PivotOJ

Rectangle Tiling

시간 제한: 1000ms메모리 제한: 1024MB출처: ICPC Rocky Mountain Regional 2024-2025BOJ 32677

문제

Consider a rectangle with integer side lengths. A square tiling of the rectangle is a covering of the entire region using non-overlapping squares whose sides are parallel with those of the rectangle. In a square tiling, no square may overhang (extend beyond the rectangle's boundary).

You have a collection of squares with side lengths being powers of 22. Find a square tiling of the rectangle using the fewest squares possible, or, indicate that it cannot be done.

Figure 1: Optimal square tilings for the first three sample inputs. The small unlabelled tiles are 1×11 \times 1 tiles.

입력

The first line of input contains three integers W,HW, H and NN (1W,H2501 \leq W,H \leq 2^{50} and 1N511 \leq N \leq 51). Here, WW and HH indicate the dimensions of the rectangle. The next line contains NN integers a0,a1,,aN1a_0, a_1, \ldots, a_{N-1} where aia_i (0ai2510 \leq a_i \leq 2^{51}) is the number of 2i×2i2^i \times 2^i squares you own.

출력

If there is a square tiling of a W×HW \times H rectangle using the squares you own, output the minimum number of squares needed in such a square tiling. Otherwise, output 1-1 if there is no square tiling of the rectangle using the squares you own.

예제

예제 1

입력
4 2 2
5 1
출력
5

예제 2

입력
6 7 3
10 10 10
출력
12

예제 3

입력
17 20 5
20 0 4 0 1
출력
25

예제 4

입력
4 2 3
3 1 10
출력
-1
코드를 제출하려면 로그인하세요.