You are on page 1of 2

Lietuvos mokinių informatikos olimpiada

Šalies et. (2) • 2023 m. kovo 23-26 d. • VIII–XII kl. koridorius

Ilgas koridorius
Dovydas yra slaptoje mokslinėje laboratorijoje ir nori iš jos išeiti. Jis jau yra koridoriuje,
kurio gale yra išėjimas. Tačiau jis yra priešingame koridoriaus gale, todėl turės pereiti visą
koridorių.
Išeiti turėtų būti paprasta, tačiau koridoriuje yra testuojami teleportavimo prietaisai. Korido-
rius yra padalintas į N segmentų. Kai kuriuose segmentuose yra po teleportavimo prietaisą.
Kiekvienas teleportavimo prietaisas turi nustatytą koridoriaus segmentą, į kurį jis teleportuo-
ja. Segmentas, į kurį prietaisas teleportuoja, visada yra toliau nuo išėjimo (ir arčiau Dovydo
pradinės vietos) nei pats prietaisas. Taip pat kiekvienas prietaisas gali būti įjungtas arba
išjungtas.
Kai Dovydas įeina (arba patenka teleportavimo būdu) į segmentą, kuriame yra įjungtas te-
leportavimo prietaisas, jis būna teleportuojamas į tam prietaisui nustatytą koridoriaus seg-
mentą, o pats prietaisas išsijungia. Kai Dovydas patenka į segmentą, kuriame yra išjungtas
teleportavimo prietaisas, jis nebūna teleportuojamas, bet tas prietaisas įsijungia.
Iš pradžių visi prietaisai yra įjungti.

Užduotis. Raskite, kiek laiko Dovydas užtruks, kol išeis iš laboratorijos.


Dovydui patekti į koridoriaus segmentą, esantį iškart po segmento, ant kurio stovi Dovydas,
užtrunka lygiai vieną sekundę. Teleportavimas vyksta akimirksniu, taigi laiko neužtrunka.
Dovydas visada eis link išėjimo, kol pagaliau galės iš paskutinio segmento išeiti į lauką. Durų
atidarymas ir išėjimas į lauką taip pat užtrunka vieną sekundę.
Kadangi atsakymas gali būti labai didelis, išveskite sekundėmis išreikšto laiko dalybos iš
109 + 7 liekaną1 .

Pradiniai duomenys. Pirmoje eilutėje pateiktas vienas sveikasis skaičius N – koridoriaus


segmentų skaičius.
Antroje eilutėje pateikti N sveikųjų skaičių skaičių a1 , a2 , ..., aN , nurodantys teleportavimo
prietaisus.
Jei ai = i, tai reiškia, kad i-ajame segmente prietaiso nėra. Kitu atveju i-ajame segmente yra
teleportavimo prietaisas, teleportuojantis į ai -ąjį segmentą.
Iš pradžių Dovydas yra 1-ajame segmente.

Rezultatai. Išveskite vieną sveikąjį skaičių – sekundėmis išreikšto laiko, per kurį Dovydas
išeis iš koridoriaus, dalybos iš 109 + 7 liekaną.
1
C/C++ galite naudoti a%b operaciją.

1 psl. iš 2
Lietuvos mokinių informatikos olimpiada
Šalies et. (2) • 2023 m. kovo 23-26 d. • VIII–XII kl. koridorius

Pavyzdžiai.

Pradiniai duomenys Rezultatai Paaiškinimas


5 10 Dovydas judės tokiu būdu (teleportavimas
1 2 2 1 5 žymimas simboliu ⇒):
1→2→3⇒2→3→4⇒1→2→3⇒
2 → 3 → 4 → 5 → išėjimas
Pradiniai duomenys Rezultatai Paaiškinimas
3 6 Dovydas judės tokiu būdu:
1 1 2 1→2⇒1→2→3⇒2⇒1→2→3→
išėjimas

Pradiniai duomenys Rezultatai Paaiškinimas


5 31
1 1 1 1 1

Ribojimai. Visiems testams galioja ribojimai 1 ≤ N ≤ 100 000 bei 1 ≤ ai ≤ i (visiems


1 ≤ i ≤ N ).

Dalinės užduotys. Už dalines užduotis taškai skiriami tik tada, jei įveikiami visi atitinka-
mos dalinės užduoties testai.

Nr. Taškai Papildomi ribojimai


1 10 1 ≤ N ≤ 20
2 12 Yra ne daugiau nei 20 teleportavimo prietaisų
3 19 Visiems 1 ≤ i ≤ N , ai ≥ i − 1
4 21 Visiems 1 ≤ i ≤ N , ai = i arba ai = 1
5 21 Visiems 1 ≤ i < j ≤ N , jei ai 6= i, tuomet aj < ai arba aj > i
6 17 Papildomų ribojimų nėra.

2 psl. iš 2

You might also like