Динамічна інверсія
Дуже проста
Обмеження на час виконання 1 секунда
Обмеження на використання пам'яті 122,174 мегабайта
Задано перестановку {1, 2, 3, ..., n}. Потрібно видалити з неї m елементів по черзі та вивести кількість інверсійних пар перед кожним видаленням. Кількість інверсійних пар у масиві a визначається як кількість впорядкованих пар (i, j), де i < j і a[i]
> a[j]
.
Вхідні дані
Складаються з кількох тестів. Перша строка кожного тесту містить два цілі числа n і m (1 ≤ n ≤ 2 * 10^5
, 1 ≤ m ≤ 10^5
). Далі йдуть n рядків, що задають початкову перестановку. Наступні m рядків містять числа, які потрібно видалити, у порядку їх видалення. Жодне число не видаляється двічі.
Вихідні дані
Для кожного видалення виведіть кількість інверсійних пар перед ним.
Приклад
(1, 5, 3, 4, 2) -> (1, 3, 4, 2) -> (3, 4, 2) -> (3, 2) -> (3)
Приклади
Вхідні дані #1
Відповідь #1
Відправки 248
Коефіцієнт прийняття 26%