이름 정하기

시간 제한2초메모리 제한512 MB

요약
문자열 S와 정수 K가 주어질 때, S를 부분 문자열로 K번 이상 포함하는 가장 짧은 문자열의 길이를 구한다.
난이도

어려움10점 중 8점

유형
문자열 매칭, 동적 계획법, 문자열, 그리디
정답자
아직 제출이 없습니다

문제

욱제는 새로 산 컴퓨터에 이름을 붙이려고 한다.

새로 산 컴퓨터의 이름은 욱제가 가장 좋아하는 문자열인 SS가 최소 KK번 부분 문자열로 등장해야 한다. 가능한 이름이 여러 가지면 길이가 가장 짧아야 한다.

SS와 KK가 주어졌을 때, 욱제가 새로 산 컴퓨터 이름의 길이를 구해보자.

입력

첫째 줄에 SS와 KK가 주어진다. SS는 알파벳 소문자로만 이루어져 있고, 길이는 500,000보다 작거나 같다. KK는 1,000,000보다 작거나 같은 자연수이다.

출력

첫째 줄에 욱제가 새로 산 컴퓨터 이름의 길이를 출력한다.

예제5

  1. 예제 1

    입력
    ada 3
    
    예상 출력
    7
    
  2. 예제 2

    입력
    abc 2
    
    예상 출력
    6
    
  3. 예제 3

    입력
    r 7
    
    예상 출력
    7
    
  4. 예제 4

    입력
    rr 5
    
    예상 출력
    6
    
  5. 예제 5

    입력
    abbababbbbababababba 2
    
    예상 출력
    36