시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
3 초 | 128 MB | 75 | 13 | 11 | 22.449% |
상근이는 고급 레스토랑을 하나 운영하고 있다. 후쿠시마 원자력 발전소 사고 이후로 국민들은 방사능에 큰 두려움을 가지게 되었다. 정부는 총 M종류의 재료에 포함된 방사능은 위험한 수준이라 판단했고, 이 재료는 요리에 조금도 사용하지 못하는 법을 제정했다.
모든 재료는 숫자(0-9)로만 이루어진 시리얼 번호를 가지고 있다. 상근이의 레스토랑에서는 만드는 음식의 개수는 하나이다. 상근이는 이 음식에 들어가는 모든 재료의 시리얼 번호를 알고 있다.
상근이는 각각의 재료가 방사능에 오염되었는지 판단해야 한다. 하지만, 상근이는 매우 게으른 아이이기 때문에, 요리에 들어가는 모든 재료의 시리얼 번호를 하나로 합쳐서 길이가 N인 문자열을 만든 다음 검사하려고 한다.
선영이가 운영하는 근처 음식점에서는 로봇을 이용해 자동으로 검사를 한다. 상근이는 선영이에게 부탁해 이 로봇을 빌려왔다.
로봇은 시리얼 번호 A에 시리얼 번호 B가 포함되었는지를 검사한다. 로봇은 아래와 같은 과정으로 검사를 수행한다. (B의 길이 = L)
상근이는 로봇이 두 숫자를 한 번 비교할 때마다 선영이에게 1원을 내야한다.
상근이가 지불해야 하는 돈은 얼마일까?
첫째 줄에 음식에 포함되는 시리얼 번호를 길게 이어 붙인 문자열의 길이 N이 주어지고, 둘째 줄에 시리얼 번호가 주어진다. (1 ≤ N ≤ 100,000)
셋째 줄에는 금지된 재료의 수 M이 주어진다. (1 ≤ M ≤ 50,000) 다음 M개 줄에는 금지된 시리얼 번호가 하나씩 주어진다.
시리얼 번호는 총 0부터 9까지 숫자로만 이루어져 있고, 금지된 시리얼 번호의 길이는 100,000를 넘지 않는다. 또, 금지된 시리얼 번호의 길이의 총 합은 3,000,000을 넘지 않는다.
각각의 재료를 검사할 때, 선영이에게 지불해야 하는 금액을 출력한다.
7 1090901 4 87650 0901 109 090
7 10 3 4
첫 번째 시리얼 번호는 모든 부분 문자열의 첫 번째 숫자에서 검사가 실패한다. 따라서, 비교 횟수는 총 7번이다.
두 번째 시리얼 번호의 경우에는 첫 번째 숫자에서 시작했을 때 비교 1번, 두 번째 숫자에서 시작했을 때, 비교 4번, 세 번째 숫자에서는 비교 1번, 네 번째 숫자에서는 비교 4번을 하게 된다. 네 번째 숫자에서 시작했을 때, 문자열이 일치하는 것을 발견하기 때문에 검사를 종료한다.
세 번째 시리얼 번호는 비교 3번, 네 번째 시리얼 번호는 비교 (1 + 3) 4번이다.
10 5821052680 4 210526 2105 582 105268
8 6 3 9
3 001 1 11
4