eolymp
bolt
Try our new interface for solving problems
Problems

Time to lay out the stones

Time to lay out the stones

На столе в ряд расположено \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}. Иначе, в первой строке вывести одно целое число -- минимальное количество ходов, за которое можно достичь желаемого распределения.
Time limit 1 second
Memory limit 64 MiB
Input example #1
3
1 2 3
3 2 1
Output example #1
6