Coder-Strike 2014 - Раунд 2 |
---|
Закончено |
«Своя игра» — интеллектуальная игра, в которой игроки отвечают на вопросы и зарабатывают очки. Компания Q проводит турнир по упрощенной версии «Своей игры» среди лучших IT компаний. По счастливой случайности в финал турнира пробились давние конкуренты: компания R1 и компания R2.
В финале будет разыграно n вопросов, из которых m вопросов-аукционов и n - m обычных вопросов. Каждый вопрос имеет цену. Цена i-го вопроса составляет ai очков. В процессе игры игроки выбирают вопросы, при этом, если вопрос является аукционом, то его цена может быть изменена выбравшим вопрос игроком, если его текущее количество очков строго больше цены вопроса. Новая цена вопроса не может быть меньше исходной цены вопроса и не может быть больше текущего количества очков игрока, который выбрал вопрос. Правильный ответ на вопрос приносит игроку количество очков, равное цене вопроса. Неправильный ответ на вопрос уменьшает количество очков игрока на значение цены вопроса.
Игра будет проходить следующим образом. Сначала компания R2 выбирает вопрос, далее выбирает вопрос тот, кто первым правильно ответил на последний вопрос. Если никто не ответил на вопрос, право выбора вопроса остается у последнего выбирающего.
Все сотрудники компании R2 болеют за свою команду. Они хотят посчитать, какое максимально возможное количество очков сможет получить команда R2, если удача будет на их стороне всю игру (будут всегда первыми правильно отвечать на вопросы). Наверное, вы не будете сильно удивлены, но эту задачу опять поручили решить вам.
В первой строке через пробел записаны два целых числа n и m (1 ≤ n, m ≤ 100; m ≤ min(n, 30)) — общее количество вопросов и количество вопросов аукционов соответственно. Во второй строке через пробел записаны n целых чисел a1, a2, ..., an (1 ≤ ai ≤ 107) — цены вопросов. В третьей строке записаны m различных целых чисел bi (1 ≤ bi ≤ n) — номера вопросов аукционов. Считайте, что вопросы нумеруются от 1 до n.
В единственной строке выведите ответ на поставленную задачу — наибольшее количество очков, которое сможет набрать компания R2, играя оптимальным образом. Гарантируется, что ответ умещается в целочисленный 64-битный знаковый тип.
4 1
1 3 7 5
3
18
3 2
10 3 8
2 3
40
2 2
100 200
1 2
400
Название |
---|