Se consideră 2
permutări A
şi B
ale mulţimii {1, 2, ..., N}
. Printr-o operaţie se pot selecta două elemente adiacente din B
şi să se interschimbe (i.e. swap(B[i], B[i + 1]
) pentru 1 ≤ i < N
).
Cerința
Să se determine numărul minim de operaţii care trebuiesc efectuate pentru a transforma pe B
în A
.
Date de intrare
Fişierul de intrare permutariab.in
conţine pe prima linie numărul natural N
. Pe a doua linie se află N
numere naturale, separate prin câte un spaţiu, reprezentând permutarea A
. Pe a treia linie se află de asemenea N
numere naturale, separate prin câte un spaţiu, reprezentând permutarea B
.
Date de ieșire
Fişierul de ieşire permutariab.out
conţine pe prima linie numărul natural X
, reprezentând numărul minim de operaţii care trebuiesc efectuate pentru a transforma pe B
în A
.
Restricții și precizări
1 ≤ N ≤ 100.000
- Pentru 70% din teste,
1 ≤ N ≤ 1000
Exemplu 1:
permutariab.in
6 2 1 3 4 5 6 1 3 4 5 6 2
permutariab.out
5
Exemplu 2:
permutariab.in
10 1 5 2 3 4 6 9 10 7 8 3 9 5 1 2 7 8 10 4 6
permutariab.out
17
Explicație
În primul exemplu, se interschimbă 2
cu 6, apoi 2
cu 5
, apoi 2
cu 4
, apoi 2
cu 3
apoi 2
cu 1
.