삽입
시간 제한1초메모리 제한1024 MB
문자열 s의 한 위치에 t를 끼워 넣어 p의 출현 횟수를 최대로 만듭니다. 최댓값, 그 값을 얻는 위치의 개수, 가장 작은 위치와 가장 큰 위치를 구합니다.
문제
세 문자열 , , 가 주어진다. 문자열의 길이는 세로 막대로 나타내며, 는 의 길이이다. 인 위치 에 를 삽입하면, 의 앞 개 문자, 그다음 전체, 마지막으로 의 나머지 개 문자로 이루어진 새 문자열이 된다. 결과 문자열에 가 부분 문자열로 가장 많이 나타나도록 를 고른다.
예를 들어 가 ab이고 가 aba일 때, 이면 abaab, 이면 aabab, 이면 ababa가 된다. 가 aba라면 가장 좋은 위치는 이며, 등장 횟수는 두 번이다(ababa와 ababa). 등장 위치가 겹쳐도 센다. 가 aa라면 과 이 최선이고, 두 경우 모두 한 번씩 나타난다. 에서는 한 번도 나타나지 않는다.
입력
첫째 줄에 문자열 , 둘째 줄에 , 셋째 줄에 가 주어진다.
출력
다음 네 정수를 공백으로 구분하여 한 줄에 출력한다.
- 를 에 적절한 위치 로 삽입했을 때 가 나타나는 최대 횟수.
- 최대 횟수가 나타나는 의 서로 다른 개수. 는 중에서 고른다.
- 최대 횟수가 나타나는 의 최솟값.
- 최대 횟수가 나타나는 의 최댓값.
제한
- 모든 문자열은 영어 소문자로만 이루어진다.