Поросёнок Ниф-Ниф решил продолжить карьеру строителя домов. Он учел ошибки , поэтому теперь он будет строить дома из сена не себе, а другим зверям.
На строительство одного дома уходит W стогов сена. Так как сено на дороге не валяется, было
решено закупать его у фермеров. i-й фермер продает неограниченное количество стогов за ai монет
каждый. Покупателей поросенок также нашел, j-й покупатель готов купить дом за bj монет.
Ниф-Ниф решил не рисковать, и для начала построить и продать только один дом
поросёнку максимизировать прибыль.
Формат входных данных
В первой строке входного файла записаны три числа: N, M и W — количества продавцов, количество покупателей и количество стогов, необходимых для постройки одного дома (1 6 N 6 2 · 105
,
1 6 M 6 2 · 105
, 5 6 W 6 106
).
Во второй строке даны N чисел ai — цены стогов сена у фермеров(1 6 ai 6 106
).
В третьей строке даны M чисел bj — цены, за которые покупатели готовы купить дом
(1 6 bj 6 106
).
СДЕЛАЙТЕ НА ПИТОНЕ
Для того, чтобы получить адрес подсети, нужно выполнить поразрядную логическую операцию «И» между маской и IP-адресом (в двоичной системе счисления)
IP-адрес: 248.228. 60.240 = 11111000.11100100.00111100.11110000
Маска: ???.???.???.??? = ????????.????????.????????.????????
Подсеть: 248.228. 56. 0 = 11111000.11100100.00111000.00000000
Так как в маске сначала идут все единицы, а потом все нули, то в третьем байте маски должно быть значение 11111000(2) = 248(10)
2)
Переведем значения из третьих байтов в двоичную систему счисления:155(10) = 10011011(2); 145(10) = 10010001(2)
В данных числах одинаковы четыре старших разряда (1001), поэтому в маске единичными могут быть четыре разряда, следовательно максимальное значение третьего байта маски = 11110000(2) = 240(10)
3)
Для того, чтобы получить адрес подсети, нужно выполнить поразрядную логическую операцию «И» между маской и IP-адресом (в двоичной системе счисления)
IP-адрес: 241.185.253. 57 = 11110001.10111001.11111101.00111001
Маска: ???.???.???.??? = ????????.????????.????????.????????
Подсеть: 241.185.252. 0 = 11110001.10111001.11111100.00000000
Так как в маске сначала идут все единицы, а потом все нули, то максимальное значение, которое может быть в третьем байте маски это 11111110(2) и, следовательно, наименьшее возможное количество нулей в двоичной записи маски подсети = 1+8 = 9
См. рисунок - там нагляднее.