만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

팝송

시간 제한4초메모리 제한1024 MB

요약
주어진 가사 문자열에서 길이가 같고 겹치지 않는 부분 문자열을 순서대로 골라, 줄 수와 공통 접미사 길이의 곱을 최대화하는 문제입니다.
난이도

보통10점 중 7점

유형
문자열, 정렬, 그리디
정답자
아직 제출이 없습니다

문제

밴드 The Length-First Searchers가 새 노래를 만들었다. 음악은 매혹적이고 가사는 귀에 잘 붙어서, 1위에 오를 가능성이 충분하다.

스튜디오에 가서 녹음하기 전에 남은 일은 음악과 가사를 합치는 것뿐이다. 노래는 인트로로 시작해 후렴이 이어지고 아웃트로로 끝난다고 이미 정했다 (요즘은 절을 좋아하는 사람이 없으니까). 노래의 각 부분에서는 가사의 일부를 부른다. 인트로와 아웃트로에서는 무엇을 불러도 되지만, 후렴에서는 더 질서 있게, 한 번에 가사 한 줄씩 불러야 한다. 음악의 박자와 맞추려면 후렴의 모든 줄의 길이가 같아야 한다. 인트로와 아웃트로에서 실제로 노래할 필요는 없지만, 후렴은 최소 두 줄로 이루어져야 한다.

가사의 어느 부분을 어느 파트에 넣을지 고르는 방법은 매우 많다. 그래서 아무렇게나 고르지 않고, 후렴의 라임 값을 최대로 만들기로 한다. 라임 값은 다음과 같이 정의한다. 후렴의 줄 수를 NN, 모든 줄이 공유하는 가장 긴 공통 접미사의 길이를 SS라고 하자. 이때 라임 값은 N⋅SN \cdot S이다.

입력

입력의 첫 번째이자 유일한 줄은 노래 가사인 문자열이다. 문자열은 소문자 알파벳 (a-z)과 밑줄 ("_")만으로 이루어진다. 길이는 22 이상 1500015000 이하이다.

출력

달성할 수 있는 라임 값의 최댓값을 정수 하나로 출력한다.

예제3

  1. 예제 1

    입력
    hey_i_love_you_you_r_blou_we_r_throu_ur_a_shrou_yeah
    
    예상 출력
    12
    
  2. 예제 2

    입력
    yeah_yeah_yeah_yeah_yeah_yeah_yeah_yeah
    
    예상 출력
    35
    
  3. 예제 3

    입력
    aaaaaaaaaaaaaaaaaaaa
    
    예상 출력
    20