eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Поштові марки

Поштові марки

Ви - філателіст, і в даний момент вивчаєте серію з \textbf{n} поштових марок. Кожна з марок цієї серії унікальна; якісь з них вже належать вам, а якісь ви можете придбати. Для кожної марки відомі її вартість (скільки доларів ви віддасте за придбання цієї марки, або ж за скільки доларів ви зможете її продати) та колекційна цінність (ця величина залежить від ваших суб'єктивних критеріїв і не має відношення до вартості марки в доларах). Ви можете продавати довільні марки цієї серії, які у вас є, і купувати марки, яких немає. Ваша мета на даному етапі - зіобрати колекцію поштових марок цієї серії, сумарна колекційна ціність якої буде не менше \textbf{k}. Яку мінімальну кількість доларів прийдеться потратити, щоб цієї мети досягти? \InputFile У першому рядку вхідного файлу задано через пропуск два цілих числа \textbf{n} та \textbf{k} (\textbf{1} ≤ \textbf{n} ≤ \textbf{32}, \textbf{1} ≤ \textbf{k} ≤ \textbf{10^9}). У другому рядку задані через пропуск \textbf{n} цілих чисел \textbf{p_1}, \textbf{p_2}, ..., \textbf{p_n} - вартість поштових марок. У третьому рядку задано через пропуск \textbf{n} цілых чисел \textbf{h_1}, \textbf{h_2}, ..., \textbf{h_n}; \textbf{h_i} дорівнює единице, якщо \textbf{i}-та марка вже знаходиться у вас, і нулю у протилежному випадку. Нарешті, у четвертому рядку задані через пропуск \textbf{n} цілих чисел \textbf{v_1}, \textbf{v_2}, ..., \textbf{v_n} - колекційна цінність поштових марок. \OutputFile У першому рядку вихідного файлу виведіть одне число - мінімальну кількість доларів, які необхідно витратити, щоб отримати колекцію марок з сумарною колекційною цінністю не менше \textbf{k}. Якщо можна добитись такої колекційної цінності, не витрачаючи додаткових коштів, або навіть заробивши на операціях з марками, виведіть \textbf{0}. Якщо ж такої колекційної цінності досягти неможливо при довільних додаткових вкладах, виведіть \textbf{-1}.
Ліміт часу 2 секунди
Ліміт використання пам'яті 256 MiB
Вхідні дані #1
2 13
2 15
0 0
2 21
Вихідні дані #1
15
Вхідні дані #2
5 67
9 18 7 6 18
1 0 0 0 1
12 27 10 10 25
Вихідні дані #2
22
Вхідні дані #3
4 10
14 14 12 6
0 1 1 1
19 23 20 7
Вихідні дані #3
0
Вхідні дані #4
10 811
43 33 14 31 42 37 17 42 40 20
0 0 0 0 0 0 1 0 0 0
116 71 38 77 87 106 48 107 91 41
Вихідні дані #4
-1
Автор А.Гріненко, І.Казменко
Джерело CollectingPostmarks, TopCoder SRM 415 Round 1 Div1 500