| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 2 초 | 512 MB | 376 | 13 | 9 | 10.976% |
비어있는 문자열 S가 있다. 이때, 아래와 같이 쿼리를 수행하는 프로그램을 작성하시오.
+ c: S의 가장 뒤에 문자 c를 추가한다. 이때, c는 알파벳 소문자이다.-: S의 가장 앞에 있는 글자를 제거한다.각각의 쿼리를 수행한 직후의 문자열 S의 길이는 항상 양수이다.
각 쿼리를 수행할 때마다 S의 서로 다른 부분 문자열의 개수를 구해야 한다.
첫째 줄에 쿼리의 개수 Q가 주어진다. (1 ≤ Q ≤ 1,000,000)
둘째 줄부터 Q개의 줄에 쿼리가 한 줄에 하나씩 주어진다.
각각의 쿼리를 수행하고 난 뒤에 문자열 S의 서로 다른 부분 문자열의 개수를 모두 합한 값을 1,000,000,007로 나눈 나머지를 출력한다.
8 + a + b + a + a - - - + a
27
정답은 1 +たす 3 +たす 5 +たす 8 +たす 5 +たす 2 +たす 1 +たす 2 =わ 27, 27 mod 1000000007 = 27 이다.