Rectangle Tiling
시간 제한1초메모리 제한1024 MB
주어진 2의 거듭제곱 정사각형들로 W 곱하기 H 직사각형을 덮을 때 필요한 최소 개수를 구하거나, 불가능하면 -1을 출력한다.
문제
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 . 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 tiles.
입력
The first line of input contains three integers and ( and ). Here, and indicate the dimensions of the rectangle. The next line contains integers where () is the number of squares you own.
출력
If there is a square tiling of a rectangle using the squares you own, output the minimum number of squares needed in such a square tiling. Otherwise, output if there is no square tiling of the rectangle using the squares you own.