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

Дерево резисторів

Дерево резисторів

Побудуємо наступне дерево: у корені одна вершина, з цієї вершини виходить \textbf{A_1} ребер, з наступних \textbf{A_1} листків виходить по \textbf{A_2} ребер з кожного, з наступних \textbf{A_1A_2} вершин на рівні \textbf{2} (якщо рахувати що корінь -- рівень \textbf{0}, наступні вершини (\textbf{A_1} штук) -- рівень \textbf{1}, і так далі, …) виходить по \textbf{A_3} ребер і так далі до \textbf{N}-го рівня. Потім це все дерево відображається симетрично (єдиний рівень, який не віддзеркалюється - це рівень під номером \textbf{N}) і виходить таке собі мереживо з ребер, у якого по \textbf{1}-й вершині на рівнях \textbf{0} та \textbf{2N}. \includegraphics{https://static.e-olymp.com/content/b9/b92574d5d1824c9733455a05a8b640129a4ec26d.jpg} Кожне ребро яке з’єднує рівні \textbf{I} та \textbf{I+1} має одинакові опори \textbf{R_i}. Ваша задача полягає порахувати опір між вершинами на рівнях \textbf{0} та \textbf{2N}. \InputFile Ціле число \textbf{N} (\textbf{N} ≤ \textbf{50}). У наступному рядку \textbf{N} чисел -- кількість ребер які виходять відповідно з \textbf{0}-го рівня, \textbf{1}-го рівня, \textbf{2}-го рівня і так далі. У наступному рядку \textbf{2N} чисел -- опір провідників, що з’єднує відповідно \textbf{0}-й і \textbf{1}-й рівень,\textbf{1}-й і \textbf{2}-й рівень, і так далі. \textbf{1} ≤ \textbf{A_i} ≤ \textbf{50}, \textbf{1} ≤ \textbf{R_i} ≤ \textbf{100}. \OutputFile Єдине число - результуючий опір системи. Вивести потрібно \textbf{200} точних знаків результату після коми, якщо ж потрібна точність результату досягається раніше, то виводити кінцеві нулі не потрібно.
Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
2
2 4
1 2 3 4
Вихідні дані #1
3.125