11842. Сортування куль


Відправити розв'язок

Бали: 100
Time limit: 2.0s
Memory limit: 500M

Author:
Problem type
Allowed languages
C++, Java, Pascal, Python

Є \(N\) куль, розташованих зліва направо. Колір \(i\)-ї кульки зліва - \(C_i\), і на ній написане число \(X_i\). Степан хоче переставити кульки так, щоб цілі числа, написані на кульках, не спадали зліва направо.

Іншими словами, його метою є досягти ситуації, коли для кожного \(1 \leq i \leq N-1\) число, написане на (\(i+1\))-й кульці більше або дорівнює числу, написаному на \(i\)-й кульці.

Для цього Степан може повторити наступну операцію будь-яку кількість разів (можливо, нуль):

  • Вибрати таке ціле число \(i\), щоб \(1 \leq i \leq N-1\).
  • Якщо кольори \(i\)-ї та (\(i+1\))-ї кульок різні, сплатіть вартість 1. (Якщо кольори однакові, оплата не стягується).
  • Поміняйте місцями \(i\)-ту та (\(i+1\))-у кулі.

Знайдіть мінімальну загальну вартість, яку має заплатити Степан, щоб досягти своєї мети.

Обмеження

  • \(2 \leq N \leq 3 \times на 10^5\)
  • \(1 \leq C_i \leq N\)
  • \(1 \leq X_i \leq N\)
  • Усі значення у вхідних даних є цілими числами.

Формат вхідних даних

Перший рядок містить ціле число \(N\)

Наступний  рядок містить \(N\) цілих чисел \(C_i\)

Третій  рядок містить \(N\) цілих чисел \(X_i\)

Числа у рядках розділяються пропуском.

Формат вихідних даних

У вихідний потік виведіть відповідь.

Примітка

До прикладу 1:

Представимо кулю як (Колір, Ціле число). Початкова ситуація: (1,3), (5,2), (2,1), (2,2), (1 ,1). Ось можлива послідовність дій:

  • Поміняйте місцями 1-у кулю (колір 1) і 2-у кулю (колір 5). Тепер кульки розташовані в порядку (5,2), (1,3), (2,1), (2,2), (1,1).
  • Поміняйте місцями 2-у (колір 1) і 3-у (колір 2). Тепер кульки розташовані в порядку (5,2), (2,1), (1,3), (2,2), (1,1).
  • Поміняйте місцями 3-у (колір 1) і 4-у кулю (колір 2). Тепер кульки в порядку (5,2), (2,1), (2,2), (1,3), (1,1).
  • Поміняйте місцями 4-у кулю (колір 1) і 5-у (колір 1). Тепер кульки в порядку (5,2), (2,1), (2,2), (1,1), (1,3).
  • Поміняйте місцями 3-у (колір 2) і 4-у кулю (колір 1). Тепер кульки в такому порядку (5,2), (2,1), (1,1), (2,2), (1,3).
  • Поміняйте місцями 1-у (колір 5) і 2-у (колір 2). Тепер кульки в порядку (2,1), (5,2), (1,1), (2,2), (1,3).
  • Поміняйте місцями 2-у (колір 5) і 3-у (колір 1). Тепер кульки в порядку (2,1), (1,1), (5,2), (2,2), (1,3).

Після останньої операції на кульках написані числа 1,1,2,2,3 зліва направо.

Вартість 1-ї, 2-ї, 3-ї, 5-ї, 6-ї та 7-ї операцій становить 1 кожна, тобто 6, що є мінімумом. 4-та операція не вимагає витрат, оскільки обидві кулі мають колір 1.

Приклад вхідних даних

5
1 5 2 2 1
3 2 1 2 1

Приклад вихідних даних

6

Приклад вхідних даних

3
1 1 1
3 2 1

Приклад вихідних даних

0

Приклад вхідних даних

3
3 1 2
1 1 2

Приклад вихідних даних

0

Коментарі

Ще немає коментарів.