Час розкладати каміння
На столі в ряд розміщено N ящиків, кожен з яких або пустий, або містить деквлькв камінчиків. За один хід можна зробити одну з наступних дій:
- взяти один камінчик з крайнього ящика і перекласти в сусідній,
- взяти два камінчика з «некрайнього» ящика і покласти їх по одному у сусідні з ним ящики.
Потрібно визначити, чи можна досягнути таким чином певного розміщення камінчиків у ящиках, і, якщо можна, порахувати мінімальну кількість ходів, які для цього потрібні.
Технічні умови
Вхідні дані
У першому рядку одне натуральне число N – кількість ящиків, 2 ≤ N ≤ 20.
У другому рядку N цілих невідємних чисел ai через пропуск, де ai – задана кількість камінчиків у i-ому ящику, 0 ≤ ai ≤ 100. Сума всіх ai не більша 100.
У треттому рядку N цілих невідємних чисел bi через пропуск, де bi – бажана кількість камінчиків у i-ому ящику, 0 ≤ bi ≤ 100.
Вихідні дані
Якщо бажаного розміщення камінчиків досягнути не можна, у першому рядку вивести No solution. Інакше, у першому рядку вивести одне ціле число – мінімальну кількість ходів, за яку можна досягнути бажаного розміщення.
Інформація про задачу
Ліміт часу: 1 секундаЛіміт пам`яті: 64 MB
Бали за пройдений тест: 4
Складність: 67% 1/3
Приклад
Приклад вхідних даних3 1 2 3 3 2 1 |
Приклад вихідних даних6 |
| ← Прогрес в артилерії продовжується | Список задач | Медіанні послідовності → |
