Laiko ribojimas: 1s
Atminties ribojimas: 64MB
Duomenų failas: kelione_namo_2.in
Rezultatų failas: kelione_namo_2.out
Kelionė namo 2
Ant ašies gyvena varlė ir jai reikia parsigauti namo. Varlės namai yra taške , o varlė šiuo metu yra taške . Vienu ėjimu varlė gali šokti į dešinę per atstumą, nedidesnį už . Taigi, jei einamuoju momentu varlė yra taške , tai po vieno šuolio ji gali atsidurit taške , kur yra sveikasis skaičius tarp ir imtinai.
Kiekvienam taškui tarp ir yra žinoma, ar tame taške yra lelijos lapas. Žinoma, varlė gali šuoliuoti tik ant lelijų lapų (nes sušlapti juk niekas nenori, net ir varlės). Yra garantuota, kad taškuose ir visada bus lelijos.
Jums reikia nustatyti mažiausią reikiamą šuolių skaičių, kad varlė galėtų grįžti namučių. Jei namo grįžti nepavyks, varlę ištiks liūdesiukas ir tokiu atveju turite atspausdinti .
Pradiniai duomenys
Pirmoje eilutėje pateikti du sveikieji skaičiai ir ().
Antroje eilutėje pateikta simbolių seka , kurią sudaro simbolių. Kiekvienas iš šių simbolių yra arba , arba . Jei -asis simbolis yra , tai taške lelijos nėra, o kitu atveju yra. Galite tarti, kad pirmas ir paskutinis simboliai šioje simbolių sekoje visada bus lygūs .
Rezultatai
Jūsų programa turi išvesti vieną sveikąjį skaičių - mažiausią reikiamą šuoliukų skaičių. Jei taško pasiekti pradedant taške neįmanoma, spausdinkite .
Pavyzdžiai
Pradiniai duomenys | Rezultatai |
---|---|
8 4 10010101 |
2 |
4 2 1001 |
-1 |
8 4 11100101 |
3 |
12 3 101111100101 |
4 |
Paaiškinimas
Pirmajame pavyzdyje varlė namus gali pasiekti dviem šuoliais: pirmuoju šuoliu varlė šoka iš taško į tašką (šuolio ilgis yra 3), o antruoju šuoliu - iš taško į tašką (šuolio ilgis 4).
Antrajame pavyzdyje varlė niekaip negali grįžti namo, nes atstumas, kurį reikia nušokti, yra 3, tačiau varlė negali nušokti toliau daugiau 2.