import heapq n = input() a = map(int, raw_input().split()) b = map(int, raw_input().split()) init = [] for level in a: init.append((level, 0)) heapq.heapify(init) ans = float("inf") for offset in xrange(-n, 0): queue = list(init) for i in xrange(offset, offset + n): level, battle = heapq.heappop(queue) heapq.heappush(queue, (level + b[i] // 2, battle + 1)) max_battle = 0 for level, battle in queue: max_battle = max(max_battle, battle) ans = min(ans, max_battle) print ans