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

Задача . F. Странная функция


Введем функцию \(f\) следующим образом. Эта функция принимает массив \(a\) длины \(n\) и возвращает массив. Изначально результат — пустой массив. Для каждого \(i\) от \(1\) до \(n\) мы добавляем \(a_i\) в конец результата, если этот элемент больше всех предыдущих (формально, если \(a_i > \max\limits_{1 \le j < i}a_j\)). Примеры применения функции \(f\):

  1. если \(a = [3, 1, 2, 7, 7, 3, 6, 7, 8]\), то \(f(a) = [3, 7, 8]\);
  2. если \(a = [1]\), то \(f(a) = [1]\);
  3. если \(a = [4, 1, 1, 2, 3]\), то \(f(a) = [4]\);
  4. если \(a = [1, 3, 1, 2, 6, 8, 7, 7, 4, 11, 10]\), то \(f(a) = [1, 3, 6, 8, 11]\).

Вам даны два массива: \(a_1, a_2, \dots , a_n\) и \(b_1, b_2, \dots , b_m\). Вы можете удалить некоторые элементы массива \(a\) (возможно, никакие). Чтобы удалить элемент \(a_i\), вы должны заплатить \(p_i\) монет (значение \(p_i\) может быть отрицательным, тогда за удаление элемента вы получаете \(|p_i|\) монет). Посчитайте минимальное кол-во монет (возможно, отрицательное), которое вы должны потратить, чтобы условие \(f(a) = b\) выполнялось.

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

В первой строке задано одно целое число \(n\) \((1 \le n \le 5 \cdot 10^5)\) — длина массива \(a\).

Во второй строке заданы \(n\) целых чисел \(a_1, a_2, \dots, a_n\) \((1 \le a_i \le n)\) — массив \(a\).

В третьей строке заданы \(n\) целых чисел \(p_1, p_2, \dots, p_n\) \((|p_i| \le 10^9)\) — массив \(p\).

В четвертой строке задано целое число \(m\) \((1 \le m \le n)\) — длина массива \(b\).

В пятой строке заданы \(m\) целых чисел \(b_1, b_2, \dots, b_m\) \((1 \le b_i \le n, b_{i-1} < b_i)\) — массив \(b\).

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

Если ответ существует, выведите YES в первой строке, а во второй — минимальное количество монет, которое надо потратить, чтобы условие \(f(a) = b\) выполнилось.

Иначе выведите NO.


Примеры
Входные данныеВыходные данные
1 11
4 1 3 3 7 8 7 9 10 7 11
3 5 0 -2 5 3 6 7 8 2 4
3
3 7 10
YES
20
2 6
2 1 5 3 6 5
3 -9 0 16 22 -14
4
2 3 5 6
NO

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

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