Олимпиадный тренинг

Задача . C. Дилемма о доставке


Петя готовится к своему дню рождения. Он решил, что на праздничном столе будут \(n\) разных блюд, пронумерованных от \(1\) до \(n\). Так как Петя не любит готовить, он хочет заказать эти блюда в ресторанах.

К сожалению, все блюда готовятся в разных ресторанах и поэтому Пете нужно забрать свои заказы из \(n\) разных мест. Чтобы ускорить этот процесс, он хочет заказать доставку курьером в некоторых ресторанах. Таким образом, для каждого блюда есть два варианта как Петя сможет его получить:

  • блюдо привезет курьер из ресторана \(i\), в этом случае курьер прибудет через \(a_i\) минут,
  • Петя самостоятельно сходит в ресторан \(i\) и заберет блюдо, на это он потратит \(b_i\) минут.

У каждого ресторана есть свои курьеры и они начинают доставку заказа в тот же момент, как Петя выходит из дома. Иными словами все курьеры работают параллельно. Петя должен посетить все рестораны в которых он не выбрал доставку, делает он это последовательно.

Например, если Петя хочет заказать \(n = 4\) блюд и \(a = [3, 7, 4, 5]\), а \(b = [2, 1, 2, 4]\), то он может заказать доставку из первого и четвертого ресторана, а во второй и третий сходить самостоятельно. Тогда курьер первого ресторана привезет заказ через \(3\) минуты, курьер четвертого ресторана привезет заказ через \(5\) минут, а Петя заберет оставшиеся блюда за \(1 + 2 = 3\) минуты. Таким образом, через \(5\) минут все блюда окажутся у Пети дома.

Найдите минимальное время, через которое все блюда могут оказаться у Пети дома.

Входные данные

В первой строке находится одно целое положительное число \(t\) (\(1 \le t \le 2 \cdot 10^5\)) — количество наборов тестовых данных. Далее следуют \(t\) наборов тестовых данных.

Каждый набор начинается со строки в которой записано одно целое число \(n\) (\(1 \le n \le 2 \cdot 10^5\)) — количество блюд, которые хочет заказать Петя.

Во второй строке каждого набора тестовых данных записаны \(n\) целых чисел \(a_1 \ldots a_n\) (\(1 \le a_i \le 10^9\)) — время курьерской доставки блюда с номером \(i\).

В третьей строке каждого набора тестовых данных записаны \(n\) целых чисел \(b_1 \ldots b_n\) (\(1 \le b_i \le 10^9\)) — время, за которое Петя заберет блюдо с номером \(i\).

Сумма \(n\) по всем наборам тестовых данных не превосходит \(2 \cdot 10^5\).

Выходные данные

Для каждого набора тестовых данных выведите одно целое число — минимальное время, через которое все блюда могут оказаться у Пети дома.


Примеры
Входные данныеВыходные данные
1 4
4
3 7 4 5
2 1 2 4
4
1 2 3 4
3 3 3 3
2
1 2
10 10
2
10 10
1 2
5
3
2
3

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя