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

Задача . Bessie's Function


Задача

Темы:

У Беси есть специальная функция \(f(x)\), которая берёт в качестве входа целое число в интервале \([1, N]\) и возвращает целое число в интервале \([1, N]\) (\(1 \le N \le 2 \cdot 10^5\)). Эта функция определяется \(N\) целыми числами \(a_1 \ldots a_N\) где \(f(x) = a_x\) (\(1 \le a_i \le N\)).

Беси хочет сделать эту функцию идемпотентной. Другими словами должно удовлетворяться \(f(f(x)) = f(x)\) для всех целых \(x \in [1, N]\).

За стоимость \(c_i\), Беси может изменить значение \(a_i\) на любое целое число в интервале \([1, N]\) (\(1 \le c_i \le 10^9\)). Определите минимальную суммарную стоимость для Беси сделать \(f(x)\) идемпотентной.

ФОРМАТ ВВОДА (с клавиатуры / stdin):

Первая строка содержит \(N\).

Вторая строка содержит \(N\) разделённых одиночными пробелами целых чисел \(a_1,a_2,\dots,a_N\).

Третья строка содержит \(N\) разделённых одиночными пробелами целых чисел \(c_1,c_2,\dots,c_N\).

ФОРМАТ ВЫВОДА (на экран / stdout):

Выведите минимальную общую стоимость для Беси сделать \(f(x)\) идемпотентной.


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

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

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