Codeforces Round 901 (Div. 2) |
---|
Закончено |
Медуза установила бомбу в Сноудине!
Бомба оснащена таймером, который первоначально установлен на $$$b$$$. Каждую секунду таймер будет уменьшаться на $$$1$$$. Когда таймер достигнет отметки $$$0$$$, бомба взорвется! Чтобы дать жителям Сноудина достаточно времени для эвакуации, необходимо как можно дольше задержать взрыв бомбы.
У вас есть $$$n$$$ инструментов. Каждый инструмент может быть использован не более одного раза. Если Вы используете $$$i$$$-й инструмент, то таймер увеличится на $$$x_i$$$. Однако, если после изменения значение таймера становится больше $$$a$$$, то из-за ошибки таймер будет установлен на $$$a$$$.
Более конкретно, каждую секунду будут происходить следующие события в следующем порядке:
Теперь Медуза хочет узнать максимальное время в секундах до взрыва бомбы при оптимальном использовании инструментов.
Каждый тест содержит несколько наборов входных данных. В первой строке указывается количество наборов входных данных $$$t$$$ ($$$1 \leq t \leq 2000$$$). Далее следует описание наборов входных данных.
Первая строка каждого набора входных данных содержит три целых числа $$$a$$$, $$$b$$$ и $$$n$$$ ($$$1 \leq b \leq a \leq 10^9$$$, $$$1 \leq n \leq 100$$$) — максимальное значение таймера бомбы, начальное значение таймера бомбы и количество инструментов.
Вторая строка каждого набора содержит $$$n$$$ целых чисел $$$x_1, x_2, \dots, x_n$$$ ($$$1 \leq x_i \leq 10^9$$$) — число, на которое может увеличиться таймер при использовании $$$i$$$-го инструмента.
Следует отметить, что сумма $$$n$$$ по всем наборам входных данных не ограничена.
Для каждого набора входных данных выведите одно целое число — максимальное время в секундах до взрыва бомбы.
25 3 31 1 77 1 51 2 5 6 8
9 21
Пусть $$$c$$$ обозначает значение таймера бомбы. В первом наборе входных данных:
Можно показать, что не существует способа использовать инструменты так, чтобы бомба взорвалась более чем через $$$9$$$ секунд.
Название |
---|