Pagini recente » Profil mr.dynamite | Monitorul de evaluare | Diferente pentru problema/spectacole intre reviziile 2 si 3 | Diferente pentru problema/stele intre reviziile 2 si 3 | Diferente pentru problema/permutariab intre reviziile 19 si 5
Nu exista diferente intre titluri.
Diferente intre continut:
== include(page="template/taskheader" task_id="permutariab") ==
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). Să se determine numărul minim de operaţii care trebuiesc efectuate pentru a transforma pe B în A.
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). Să se determine numărul minim de operaţii care trebuiesc efectuate pentru a transforma pe B în A.
h2. Date de intrare
h2. Restricţii
* $1 ≤ N ≤ 100.000$
* Pentru 70% din punctaj, $1 ≤ N ≤ 1000$
h2. Exemplu
table(example). |_. permutariab.in |_. permutariab.out |
| 6
2 1 3 4 5 6
1 3 4 5 6 2
| 5
| This is some
text written on
multiple lines.
| This is another
text written on
multiple lines.
|
|10
1 5 2 3 4 6 9 10 7 8
3 9 5 1 2 7 8 10 4 6
|17
|
h3. 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.
...
== include(page="template/taskfooter" task_id="permutariab") ==
Nu exista diferente intre securitate.
Topicul de forum nu a fost schimbat.