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

Час розкладати каміння

Час розкладати каміння

На столі в ряд розміщено \textbf{N} ящиків, кожен з яких або пустий, або містить деквлькв камінчиків. За один хід можна зробити одну з наступних дій: \begin{itemize} \item взяти один камінчик з крайнього ящика і перекласти в сусідній, \item взяти два камінчика з <<некрайнього>> ящика і покласти їх по одному у сусідні з ним ящики. \end{itemize} Потрібно визначити, чи можна досягнути таким чином певного розміщення камінчиків у ящиках, і, якщо можна, порахувати мінімальну кількість ходів, які для цього потрібні. \InputFile У першому рядку одне натуральне число \textbf{N} -- кількість ящиків, \textbf{2} ≤ \textbf{N} ≤ \textbf{20}. У другому рядку \textbf{N} цілих невідємних чисел \textbf{a_i} через пропуск, де \textbf{a_i} -- задана кількість камінчиків у \textbf{i}-ому ящику, \textbf{0} ≤ \textbf{a_i} ≤ \textbf{100}. Сума всіх \textbf{a_i} не більша \textbf{100}. У треттому рядку \textbf{N} цілих невідємних чисел \textbf{b_i} через пропуск, де \textbf{b_i} -- бажана кількість камінчиків у \textbf{i}-ому ящику, \textbf{0} ≤ \textbf{b_i} ≤ \textbf{100}. \OutputFile Якщо бажаного розміщення камінчиків досягнути не можна, у першому рядку вивести \textbf{No solution}. Інакше, у першому рядку вивести одне ціле число -- мінімальну кількість ходів, за яку можна досягнути бажаного розміщення.
Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
3
1 2 3
3 2 1
Вихідні дані #1
6