Hide

Problem D
Unika Ord

Du ska skriva ett program som kan läsa in en följd av tecken, och som skriver ut startpositionen på den först förekommande unika delföljden av längd N. Indata består av en följd av alfanumeriska tecken (A-Z, a-z, 0-9), som kan vara högst 10000000 tecken lång. N kan vara mellan 0 och 1000. Om inga unika delföljder av längd N finns skall programmet skriva ut 1. Med “unik delföljd” menas en följd av tecken som bara förekommer en enda gång.

Positionerna numreras från 0, så att om t.ex N=2, och teckenföljden är “ABCDABC”, så är den första unika delföljden “CD”, och den börjar på position 2.

Input

Indata består av ett heltal (N) som anger längden på den eftersökta delföljden. Därefter följer en teckenföljd bestående av mellan 1 och 10000000 tecken.

Output

Utdata ska bestå av ett enda heltal som anger startpositionen på den första unika delföljden av efterfrågad längd, eller 1 om inga unika delföljder av efterfrågad längd finns.

Sample Input 1 Sample Output 1
2
ABCDABC
2
Sample Input 2 Sample Output 2
3
ABCDABC
1
Sample Input 3 Sample Output 3
10
ABCDABCDABCDABCDABCDABCDABCDABCDABCDABCD
-1
Hide

Please log in to submit a solution to this problem

Log in