Fişierul intrare/ieşire:expanding.in, expanding.outSursăJunior Challenge 2025
AutorMuresan Luca ValentinAdăugată deandreiiorgulescuandrei iorgulescu andreiiorgulescu
Timp execuţie pe test1 secLimită de memorie262144 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Expanding

Î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:

  • Ei pornesc la o poziţie p, cu o poţiune de putere c = ap.
  • 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.
  • O mutare într-o poziţie vizitată anterior este mereu posibilă şi nu are niciun efect.
  • Pentru a vizita o poziţie nevizitată, trebuie să aibă puterea poţiunii c egală cu valoarea poziţiei în care merg.
  • Pentru un ban, ei pot schimba puterea poţiunii c la orice valoare pozitivă.
  • Când ajung într-o poziţie nouă, ei colectează piatra din acea poziţie.

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 = ap.

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).

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.

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.

Restricţii

  • 1 ≤ n ≤ 1 000 000
  • 1 ≤ ai ≤ n
  • 1 ≤ q ≤ 1 000 000
  • 1 ≤ p ≤ n
#PunctajRestricţii
18n ≤ 500 şi q ≤ 500
29n ≤ 5000 şi q ≤ 10
315n ≤ 5000 şi q ≤ 5000
527n ≤ 100 000 şi q ≤ 10
518n ≤ 100 000 şi q ≤ 100 000
623n ≤ 1 000 000 şi q ≤ 1 000 000

Exemplu

expanding.inexpanding.out
8
2 1 3 4 6 3 2 1
8
1
2
3
4
5
6
7
8
7
6
6
5
5
6
6
7

Explicaţie

f(1) = 7. Un şir de mutări posibil este:

PoziţiePoţiuneCost
12Costul iniţal este 0
111 (am schimbat poţiunea din 2 în 1)
211
232 (am schimbat poţiunea din 1 în 3)
332
343 (am schimbat poţiunea din 3 în 4)
443
464 (am schimbat poţiunea din 4 în 6)
564
535 (am schimbat poţiunea din 6 în 3)
635
626 (am schimbat poţiunea din 3 în 2)
726
717 (am schimbat poţiunea din 2 în 1)
817

f(4) = 5. Un şir de mutări posibil este:

PoziţiePoţiuneCost
44Costul iniţal 0
461 (am schimbat poţiunea din 4 în 6)
561
532 (am schimbat poţiunea din 6 în 3)
632
532 (observaţi cum aici am mers la stânga, lucru care este permis deoarece am vizitat deja aceasta pozitie)
432
332
313 (am schimbat poţiunea din 3 în 1)
213
224 (am schimbat poţiunea din 1 în 2)
124
224
324
424
524
624
724
715 (am schimbat poţiunea din 2 în 1)
815
Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?