using System; using System.Linq; namespace No { class MainClass { static int n; static int[] a; static int[] b; public static void Main(string[] args) { n = int.Parse(Console.ReadLine()); a = Console.ReadLine().Split(' ').Select(x => int.Parse(x)).ToArray(); b = Console.ReadLine().Split(' ').Select(x => int.Parse(x)).ToArray(); int max_battle_number = n; for (int start = 0; start < n; start++) { int[] level = new int[n]; int pos = start, count = 0, max = 0; for (int i = 0; i < n; i++) level[i] = a[i] * 1000; while (true) { level[Array.IndexOf(level, level.Min())] += (b[pos] / 2) * 1000 + 1; pos++; if (pos >= n) pos = 0; count++; if (count == n) break; } foreach (int num in level) if (max < num % 1000) max = num % 1000; if (max_battle_number > max) max_battle_number = max; } Console.WriteLine(max_battle_number); } } }