Nu aveti permisiuni pentru a descarca fisierul grader_test3.ok
Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2022-01-03 14:47:47.
Revizia anterioară   Revizia următoare  

 

Fişierul intrare/ieşire:twinperms.in, twinperms.outSursăAlgoritmiada 2022, Runda 1
AutorTinca MateiAdăugată deTincaMateiTinca Matei TincaMatei
Timp execuţie pe test0.125 secLimită de memorie262144 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Twinperms

Zi-mi ce alegi: ori ne-apărăm spatele, ori ni-l înjunghiem

Georgian şi Ştefan, căutând în 3 camere din casă, au găsit două permutări gemene, p şi q, de mărime N. Atunci când cineva interschimba elementele de pe poziţiile i şi j dintr-o permutare, în paralel se interschimbau şi elementele de pe aceleaşi poziţii în cealaltă permutare. De exemplu, dacă cele două permutări sunt: p = [2, 1, 3] şi q = [3, 2, 1], atunci prin interschimbarea elementelor de pe poziţiile 1 şi 3, atunci permutările devin p = [3, 1, 2] şi q = [1, 2, 3]. Ei pot aplica oricâte interschimbări de acest fel.

Şi Georgian şi Ştefan vor să îşi minimizeze numărul de inversiuni al permutărilor fiecăruia, dar pentru că de fiecare dată când cineva schimbă ceva la o permutare, se schimbă şi în cealaltă, atunci ei s-au decis să facă astfel încât numărul de inversiuni în total din ambele permutări să fie cât mai mic.

Cerinţă

Dându-se două permutări de mărime N, calculaţi suma minimă a numărului de inversiuni din cele două permutări după ce se aplică operaţia de interschimbare descrisa mai sus de oricâte ori.

Date de intrare

Fişierul de intrare twinperms.in, pe prima linie se găseşte numărul N, ce reprezintă mărimile celor două permutări.
Pe următoarele două linii se află câte N elemente, reprezentând cele două permutări p şi q.

Date de ieşire

În fişierul de ieşire twinperms.out se va afişa un singur număr ce reprezintă suma minimă a numărului de inversiuni din cele două permutări.

Restricţii

  • Permutările sunt indexate de la 1 până la N.
  • 1 ≤ N ≤ 500.000.
  • Pentru 10 de puncte, avem pi = qi pentru toate i, unde 1 ≤ i ≤ N.
  • Pentru alte 10 de puncte, avem pi + qi = N + 1 pentru toate i, unde 1 ≤ i ≤ N.
  • Pentru alte 10 puncte, avem 1 ≤ N ≤ 10.
  • Pentru alte 15 puncte, avem 1 ≤ N ≤ 18.
  • Pentru alte 35 de puncte, avem 1 ≤ N ≤ 1.000.
  • O permutare de mărime N este un şir de N elemente unde fiecare număr de la 1 până la N apare exact o dată.
  • Numărul de inversiuni dintr-o permutare p este numărul de perechi i, j, unde 1 ≤ i < j ≤ N, cu proprietatea că pi > pj.

Exemplu

twinperms.intwinperms.out
4
3 4 1 2
1 4 2 3
4

Explicaţie

Dacă interschimbăm elementele de pe poziţiile 2 şi 4, o să obţinem permutările p = [3, 2, 1, 4] şi q = [1, 3, 2, 4]. Cum p are 3 inversiuni, iar q are o inversiune, suma totală este de 4 inversiuni. Aceasta este suma minimă.

Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?