== include(page="template/taskheader" task_id="expanding") ==
!>problema/expanding?poza_expand2.png!
Ãn Å¢inutul Ooo, Finn Åi Jake descoperÄ un Åir magic de pietre strÄlucitoare aÅezn linie.
Fiecare piatrÄ are o valoare (o culoare sau o energie), iar fiecare valoare apare de cel mult douÄ ori în totirul.
În Tărâmul Ooo, Finn şi Jake descoperă un şir magic de pietre strălucitoare aşezate în linie.
Fiecare piatră are o valoare, valori pe care le vom reprezenta cu un şir $a$ de $n$ elemente. **Nu există trei pietre care să aibă aceeaşi valoare**.
Încercând să colecteze toate pietrele, cei doi se vor mişca după următoarele reguli:
Jake, fiind elastic, poate alege o poziÅ£ie iniÅ£ialÄ p din Åir, Åi începe o ctorie de extindere:
* Ei pornesc la o poziţie $p$, cu o poţiune de putere $c = a{~p~}$.
La început:
Intervalul [l, r] = [p, p] (adicÄ doar piatra de la poziÅia p).
Jake Å£ine în lÄbuÅ£Ä energia curen c = valoarea pietrei de la p.
* La un pas, ei se pot muta doar într-o poziţie adiacentă, dacă aceasta există în şir, aceasta putând fi vizitată sau nu anterior.
Reguli magice:
* O mutare într-o poziţie vizitată anterior este mereu posibilă şi nu are niciun efect.
Jake poate schimba energia c în orice valoare pozitivÄ, dar asta costÄ 1 poÅ£iune magi.Ä
* Pentru a vizita o poziţie nevizitată, trebuie să aibă puterea poţiunii $c$ egală cu valoarea poziţiei în care merg.
DacÄ Ã®n stânga existÄ o piatrÄ cu energia c, atunci Jake poate sÄri la i l scade cu 1.
* Pentru un ban, ei pot schimba puterea poţiunii $c$ la orice valoare pozitivă.
DacÄ Ã®n dreapta existÄ o piatrÄ cu energia c, atunci Jake se întinde pânÄ la ea Åi rte cu 1.
* Când ajung într-o poziţie nouă, ei colectează piatra din acea poziţie.
Scopul aventurii:
Jake vrea sÄ se întindÄ pânÄ acoperÄ Ã®ntregul Åir de pietre, [l, r] = [1, n].
Costul final f(p) este numÄrul minim de poÅ£iuni magice (schimbÄri de energie) pe care Jake trebuie sÄ le foloseascÄ pentru a i.uÅ
Definim $f(p)$ ca fiind numărul minim de bani de care au nevoie cei doi pentru a putea colecta toate cele $n$ pietre, dacă pornesc în poziţia $p$ cu $c = a{~p~}$.
ð Sarcina ta
Se dau $n$, şirul $a$ de $n$ elemente şi $q$ query-uri; pentru fiecare primiţi o poziţie $p$ şi trebuie să afişaţi $f(p)$.
Å¢i se dÄ lungimea irului n.
Apoi urmeazÄ n numere pozitive (valorile pietrelor, fiecare apÄrând cel mult de do ori).
DupÄ aceea primeÅti un numÄr q, adicÄ numÄrul de înri pe care Jake le face.
UrmeazÄ q poziÅ£ii iniÅiale p.
Pentru fiecare dintre ele, trebuie sÄ spui câte poÅ£iuni magice minime are nevoie Jake ca sÄ se întindÄ pe toirul.
h2. Date de intrare
Fişierul de intrare $expanding.in$ conţine pe prima linie numărul $n$, urmat pe a doua linie de şirul $a$.
Pe a treia linie se găseşte $q$, urmat de $q$ linii cu câte un număr, valorile $p$ ale query-urilor.
FiÅierul de intrare $expanding.in$ ...
h2. Date de ieşire
h2. Date de ieÅire
În fişierul de ieşire $expanding.out$ afişaţi $q$ linii, pe linia $i$ afişând răspunsul de la al $i$-lea query.
Ãn fiÅierul de iire $expanding.out$ ...
h2. Restricţii
h2. Restricţii
* $1 ≤ n ≤ 1 000 000$
* $1 ≤ a{~i~} ≤ n$
* $1 ≤ q ≤ 1 000 000$
* $1 ≤ p ≤ n$
|_. # |_. Punctaj |_. Restricţii |
| 1 | 8 | $n ≤ 500$ şi $q ≤ 500$ |
| 2 | 9 | $n ≤ 5000$ şi $q ≤ 10$ |
| 3 | 15 | $n ≤ 5000$ şi $q ≤ 5000$ |
| 5 | 27 | $n ≤ 100 000$ şi $q ≤ 10$ |
| 5 | 18 | $n ≤ 100 000$ şi $q ≤ 100 000$ |
| 6 | 23 | $n ≤ 1 000 000$ şi $q ≤ 1 000 000$ |
* $... ≤ ... ≤ ...$
h2. Exemplu