Laiko ribojimas: 1s
Atminties ribojimas: 64MB
Duomenų failas: intervalas.in
Rezultatų failas: intervalas.out
Intervalas
Šiame uždavinyje jums pateikta simbolių eilutė, kurią sudaro mažųjų lotyniškos abėcėlės raidžių, bei sveikasis skaičius . Jūsų užduotis - rasti ilgiausio simbolių intervalo (angl. substring), kuriame būtų lygiai skirtingų simbolių, ilgį, arba pranešti, kad toks intervalas neegzistuoja.
Pavyzdžiui, tegu yra duota simbolių eilutė abcbdbdbbdcdabd. Tuomet:
- Jei , tai ieškomas ilgis būtų 7, nes egzistuoja simbolių intervalas bdbdbbd, kuriame yra lygiai 2 skirtingos raidės.
- Jei , tai ieškomas ilgis būtų 11, nes egzistuoja simbolių intervalas bcbdbdbbdcd, kuriame yra lygiai 3 skirtingos raidės;
- Jei , tai reikalingas simbolių intervalas neegzistuoja, nes visoje simbolių eilutėje yra tik 4 skirtingos raidės.
Pradiniai duomenys
Pirmoje eilutėje pateiktas vienas sveikasis skaičius ().
Antroje eilutėje pateikta simbolių eiluė (). Yra garantuota, kad simbolių eilutę sudaro tik mažosios lotyniškos abėcėlės raidės.
Rezultatai
Jūsų programa turi išvesti vieną sveikąjį skaičių: , jei ieškomas simbolių intervalas neegzistuoja, arba ieškomo simbolių intervalo ilgį.
Pavyzdžiai
Pradiniai duomenys | Rezultatai |
---|---|
2 abcbdbdbbdcdabd |
7 |
3 abcbdbdbbdcdabd |
11 |
5 abcbdbdbbdcdabd |
-1 |