h, w = map(int, input("").split()) n = int(input("")) wymiary = list(map(int, input("").split())) wymiary = sorted(wymiary, reverse=True) def wynik(wymiary,h,w): prostokat = h * w l_obrazow = 0 x = 0 for i in wymiary: ilosc = (h // i) * (w // i) z = i ** 2 if x + z * ilosc > prostokat: while x + z * ilosc > prostokat: ilosc -= 1 x += z * ilosc l_obrazow += ilosc if prostokat == x: return l_obrazow return -1 print(wynik(wymiary,h,w))
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | h, w = map(int, input("").split()) n = int(input("")) wymiary = list(map(int, input("").split())) wymiary = sorted(wymiary, reverse=True) def wynik(wymiary,h,w): prostokat = h * w l_obrazow = 0 x = 0 for i in wymiary: ilosc = (h // i) * (w // i) z = i ** 2 if x + z * ilosc > prostokat: while x + z * ilosc > prostokat: ilosc -= 1 x += z * ilosc l_obrazow += ilosc if prostokat == x: return l_obrazow return -1 print(wynik(wymiary,h,w)) |